IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> PAT 基础编程题目集(函数题1-13)题解 -> 正文阅读

[数据结构与算法]PAT 基础编程题目集(函数题1-13)题解

PAT

基础编程题目集(函数题1-13)题解

更多详见>>

OJ题解系列 目录导航帖

6-1 简单输出整数 (10 分)

void PrintN(int N){
	for(int i=1;i<=N;i++){
		printf("%d\n",i);
	}
} 

6-2 多项式求值 (15 分)

double f( int n, double a[], double x ){
	double res = 0;
	double t = 1.0;
	for(int i=0;i<=n;i++){
		res += (a[i]*t);
		t = t*x;
	}
	return res;
}

6-3 简单求和 (10 分)

int Sum (int List[], int N ){
	int sum = 0;
	for(int i=0;i<N;i++){
		sum += List[i];
	}
	return sum;
}

6-4 求自定类型元素的平均 (10 分)

ElementType Average(ElementType S[],int N){
	ElementType sum = 0.0;
	for(int i=0;i<N;i++){
		sum += S[i];
	}
	sum /= (N*1.0);
	return sum;
}
 

6-5 求自定类型元素的最大值 (10 分)

ElementType Max( ElementType S[], int N ){
	ElementType maxn = S[0];
	for(int i=1;i<N;i++){
		if(S[i]>maxn){
			maxn = S[i];	
		}
	}
	return maxn;
}

6-6 求单链表结点的阶乘和 (15 分)

int FactorialSum( List L ){
	int sum = 0;
    int muti;
    while(L){
    	muti = 1;
    	for(int i=2;i<=L->Data;i++){
    		muti *= i;
		}
        sum += muti;
        L = L->Next;
    }
    return sum;
}

6-7 统计某类完全平方数 (20 分)

int IsTheNumber ( const int N ){
	int a[10] = {0};
	int flag1 = 0;
	int flag2 = 0;
	int T = N;
	while(T){
		a[T%10]++;
		T = T/10; 
	}
	for(int i=0;i<10;i++){
		if(a[i]>=2){
			flag1 = 1;
			break;
		}
	}
	int x = (int)(sqrt(N*1.0)); 
	if(x*x == N){
		flag2 = 1;
	} 
	if(flag1 && flag2){
		return 1;
	}else{
		return 0;
	}
}

6-8 简单阶乘计算 (10 分)

int Factorial( const int N ){
	if(N<0){
		return 0;
	}else if(N==0){
		return 1;
	}else{
		int sum = 1;
		for(int i=1;i<=N;i++){
			sum = sum * i;
		}
		return sum;
	}
}

6-9 统计个位数字 (15 分)

int Count_Digit ( const int N, const int D ){
	int N1;
	if(N<0){
		N1 = -N;
	}else if(N>0){
		N1 = N;
	}else if(N==0){
		N1 = 0;
	}
	int a[10] = {0};
	if(N1==0){
		a[0]++;
	}
	while(N1){
		a[N1%10] ++;
		N1=N1/10;
	}
	return a[D];
} 

6-10 阶乘计算升级版 (20 分)

void Print_Factorial(const int N){
	if(N<0){
		printf("Invalid input\n");
		return;
	}
	int a[10005]={1};
	
	int site = 0;
	for(int i=1;i<=N;i++){
		int jw = 0;
		for(int j=0;j<=site;j++){
			a[j] = a[j]*i + jw;
			jw = a[j]/10;
			a[j] = a[j]%10;
		}
		while(jw){
			site++;
			a[site] = jw % 10;
			jw/=10;
		}
	}
	for(int i=site;i>=0;i--){
		printf("%d",a[i]);
	}
	printf("\n");
}

6-11 求自定类型元素序列的中位数 (25 分)

ElementType Median(ElementType A[],int N){
	int i, j, mid;
	ElementType tmp;
	mid = N / 2;
	while (mid > 0) {
		for (i = mid; i < N; i++) {
			tmp = A[i];
			j = i - mid;
			while (j >= 0 && tmp < A[j]) {
				A[j + mid] = A[j];
				j = j - mid;
			}
			A[j + mid] = tmp;
		}
		mid = mid / 2;
	}
	return A[N / 2];
}

6-12 判断奇偶性 (10 分)

int even( int n ){
	if(n%2){
		return 0;
	}else{
		return 1;
	}
}

6-13 折半查找 (15 分)

int Search_Bin(SSTable T, KeyType k){
	int left = 1;
	int right = T.length;
	while(left<right){
		int mid = (left+right) >> 1;
		if(T.R[mid].key<k){
			left = mid+1;
		}else{
			right = mid;
		}
	}
	if(T.R[left].key == k){
		return left;
	}else{
		return 0;
	}
}
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-30 19:10:58  更:2022-01-30 19:12:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:24:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码