文档详情

全国计算机等级试二级C语言上机编程题参考答案.doc

发布:2016-10-05约1.91万字共7页下载文档
文本预览下载声明
将两个两位的正整数a、b合并形成一个整数放在c中:将a的十位和个位数放在c的千位和十位,b的十位和个位数放在c的百位和个位。例如:若a = 45, b = 12,使c = 4152。 void fun(int a, int b, int *c) { *c = a/10*1000+b/10*100+a%10*10+b%10; } 判断整数x是否是同构数(规定x是不大于100的正整数)。若是,函数返回1,否则返回0。如果某个整数能够在它的平方数的最右边出现,就是“同构数”。例如:5的平方数是25,5是25右边的数,所以5是同构数。 int fun(int x) { return (x 10 x*x%10 == x) || (x = 10 x*x%100 == x); } 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); } 对变量x中的值保留2位小数,并对第3位进行四舍五入(规定x中的值为正数)。 double fun(double x) { return (int)(x * 100 + 0.5) / 100.0; } 求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); //平方根 } 求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) a[j++] = i; // j++模式 return j; } 求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; } 求出小于或等于lim的所有素数并放在a数组中,该函数返回所求的素数的个数。 int fun(int lim, int a[MAX]) { 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) a[j++] = i; // j++模式 } return j; } 将大于整数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; k i; k++) if (i % k == 0) break; if (k == i) x[j++] = i; // j++模式 } } 求数组前n个数的小数部分的和,并返回。 double fun(int n, double a[ ]) { int i; double s = 0; for (i = 0; i n; i++) s += a[i] - (int)a[i]; //原数-整数 return s; } 把a数组的n个数的平方值,与
显示全部
相似文档