最新全国计算机等级考试二级C语言上机编程题参考答案.pdf
《最新全国计算机等级考试二级C语言上机编程题参考答案.pdf》由会员分享,可在线阅读,更多相关《最新全国计算机等级考试二级C语言上机编程题参考答案.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 全国计算机等级考试二级 C 语言上机编程题参考答案 精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除(1)将两个两位的正整数 a、b 合并形成一个整数放在 c 中:将 a 的十位和个位数放在 c的千位和十位,b 的十位和个位数放在 c 的百位和个位。例如:若 a=45,b=12,使 c=4152。void fun(int a,int b,int*c)/c 是指针 *c=a/10*1000+b/10*100+a%10*10+b%10;(2)判断整数 x 是否是同构数(规定 x 是不大于 100 的正整数)。若是,函数返回 1,否则返回 0。如果某个整数能够在它的平方数的最
2、右边出现,就是“同构数”。例如:5 的平方数是 25,5 是 25 右边的数,所以 5 是同构数。int fun(int x)return(x=10&x*x%100=x);(3)w 是大于 10 的无符号整数,求 w 后 n-1位的数作为函数值返回。例如:若 w 是234,则返回 34。unsigned fun(unsigned w)unsigned t=w,m=1;while(t)t/=10;m*=10;return w%(m/10);(4)对变量 x 中的值保留 2 位小数,并对第 3位进行四舍五入(规定 x 中的值为正数)。double fun(double x)return(int)(
3、x*100+0.5)/100.0;(5)求 n 以内(不包括 n)同时能被 3 和 7 整除的所有自然数之和的平方根,并作为函数值返回。double fun(int n)int i;double s=0;for(i=1;i n;i+)if(i%3=0&i%7=0)s+=i;return sqrt(s);/平方根 (6)求 1 到 m 之内(含 m)能被 7 或 11 整除的所有整数放在数组 a 中,通过函数返回这些数的个数。int fun(int*a,int m)int i,j=0;for(i=1;i=m;i+)if(i%7=0|i%11=0)aj+=i;/j+模式 return j;(7)求
4、 3 到 n 之间所有素数的平方根之和,并返回。double fun(int n)int i,k;double s=0;for(i=3;i=n;i+)for(k=2;k i;k+)/判断素数 if(i%k=0)break;/整除中止 if(i=k)s+=sqrt(i);/是素数 return s;(8)求出小于或等于 lim 的所有素数并放在 a数组中,该函数返回所求的素数的个数。int fun(int lim,int aMAX)int i,k,j=0;for(i=2;i=lim;i+)for(k=2;k i;k+)if(i%k=0)break;if(k=i)aj+=i;/j+模式 retur
5、n j;(9)将大于整数 m 且紧靠 m 的 n 个素数存入x 所指的数组中。void fun(int m,int n,int x)int i,k,j=0;整数分整除和四舍数是否是同构数规定是不大于的正整数若是函数返回否则返回如果某个整数能够在它的平方数的最右边出现就是同构量中的值保留位小数并对第位进行四舍五入规定中的值为正数求以内不包括同时能被和整除的所有自然数之和的平方的个数求到之间所有素数的平方根之和并返回模式判断素数整除中止是素数求出小于或等于的所有素数并放在数组中精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 for(i=m+1;j n;i+)for(k=2;
6、k i;k+)if(i%k=0)break;if(k=i)xj+=i;/j+模式 (10)求数组前 n 个数的小数部分的和,并返回。double fun(int n,double a)int i;double s=0;for(i=0;i n;i+)s+=ai-(int)ai;/原数-整数 return s;(11)把 a 数组的 n 个数的平方值,与 b 数组中逆序的 n 个数的平方值一一对应相加,存放在 c 数组中。void fun(int a,int b,int c,int n)int i;for(i=0;i n;i+)ci=ai*ai+bn-1-i*bn-1-i;(12)计算并返回 a
7、数组中 n 门课程的平均分。double fun(int*a,int n)int i;double s=0;for(i=0;i n;i+)s+=ai;return s/n;(13)返回 a 数组 n 个学生中低于平均分的人数,并将低于平均分的分数放在 b 所指的数组中。int fun(int a,int n,int b)int i,j=0;double s=0;for(i=0;i n;i+)s+=1.0*ai/n;/平均分 for(i=0;i n;i+)if(ai s)bj+=ai;/j+模式 return j;(14)求 N N 的二维数组周边元素的平均值并作为函数值返回给主函数。doubl
8、e fun(int aNN)int i,k;double s=0;for(i=0;i N;i+)for(k=0;k N;k+)if(i=0|k=0|i=N-1|k=N-1)s+=aik;return s/(4*N-4);/除以个数 (15)求出 s 数组 t 个元素中最大元素在数组中的下标,并存放在 k 所指的存储单元中。void fun(int*s,int t,int*k)int i,m=0;for(i=1;i sm)m=i;*k=m;(16)求出数组 aMN 里每列中的最小元素,并依次放入 bN数组中。void fun(int aMN,int bN)int i,k,m;for(k=0;k
9、N;k+)/共 N 列 m=a0k;for(i=0;i M;i+)/每列 M行 if(aik m)m=aik;bk=m;(17)求 Fibonacci 数列中大于 t 的最小的一个数,结果由函数返回。其中数列 f(n)的定义为:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)int fun(int t)int a=0,b=1,c=0;数学公求总和数是否是同构数规定是不大于的正整数若是函数返回否则返回如果某个整数能够在它的平方数的最右边出现就是同构量中的值保留位小数并对第位进行四舍五入规定中的值为正数求以内不包括同时能被和整除的所有自然数之和的平方的个数求到之间所有素数的平方根之
10、和并返回模式判断素数整除中止是素数求出小于或等于的所有素数并放在数组中精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 while(c=t)c=a+b;a=b;b=c;return c;(18)根据以下公式求 P 的值,结果由函数值带回。float fun(int m,int n)int i;float x=1,y=1,z=1;for(i=1;i=m;i+)x*=i;/m!for(i=1;i=n;i+)y*=i;/n!for(i=1;i=m-n;i+)z*=i;/(m-n)!return x/y/z;(19)根据以下公式计算 s,结果由函数值返回。double fun(i
11、nt m)int i;double s=0;for(i=1;i=m;i+)s+=log(i);return sqrt(s);/平方根 (20)计算下列级数和,结果由函数值返回。若 x=0.3,n=10,则函数值为1.349859。double fun(double x,int n)int i;double s=1,z=1,m=1;for(i=1;i=n;i+)s+=(z*=x)/(m*=i);return s;(21)根据以下公式计算 s,结果由函数值返回。float fun(int n)int i,t=0;/t 作分母 float s=0;for(i=1;i=e)s+=v;v*=n+/(2*
12、n+1);return s*2;(23)求给定 10 个数的方差,结果作为函数值返回:其中 X是 10 个数的平均值。double fun(double x10)int i;double v=0,s=0;for(i=0;i 10;i+)v+=xi/10;/v 是平均值 for(i=0;i=1e-6);return x1;(25)把二维数组左下角元素全置为 0。如:原来值为:4 9 2 则返回:0 9 2 3 5 7 0 0 7 8 1 6 0 0 0 void fun(int aNN)int i,k;for(i=0;i N;i+)for(k=0;k=i;k+)/循环至 i列 aik=0;(26
13、)矩阵转置,如:输入 10 20 30 输出 10 40 70 (即行列互换)40 50 60 20 50 80 70 80 90 30 60 90 void fun(int aNN)int i,k,t;for(i=0;i N;i+)for(k=0;k i;k+)/至 i-1列 t=aik;aik=aki;aki=t;(27)将 M 行 N 列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。例如:s 数组中存放 A B C D 0 E F G H 0 则 a 中应保存AEBFCGDH。void fun(char sMN,char*a)int i,k,j=0;for(k=0;k N-1;
14、k+)/跳过0列 for(i=0;i M;i+)aj+=sik;/j+模式 aj=0;/串尾添0 (28)一维数组 a 中有 n 个整数,把下标从 0到 p(p 小于等于 n-1)的数组元素平移到数组的最后。void fun(int a,int p,int n)int i,k,t;for(k=0;k=p;k+)t=a0;for(i=1;i n;i+)ai-1=ai;/数据前移 an-1=t;(29)假定输入的字符串中只包含字母和*号,将字符串中的前导*号全部移到字符串的尾部。void fun(char*a)int i,n=strlen(a);while(a0=*)for(i=1;i n;i+)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 全国 计算机等级考试 二级 语言 上机 编程 参考答案
限制150内