当前位置:首页 > 2012年3月计算机二级c语言上机题库及答案
for(i=0;i<26;i++) pp[i]=0; while(*tt) {switch(*tt) {
case ?a?:pp[0]++;break; case ?b?:pp[1]++;break; case ?c?:pp[2]++;break; case ?d?:pp[3]++;break; case ?e?:pp[4]++;break; case ?f?:pp[5]++;break; case ?g?:pp[6]++;break; case ?h?:pp[7]++;break; case ?i?:pp[8]++;break; case ?j?:pp[9]++;break; case ?k?:pp[10]++;break; case ?l?:pp[11]++;break; case ?m?:pp[12]++;break; case ?n?:pp[13]++;break; case ?o?:pp[14]++;break; case ?p?:pp[15]++;break; case ?q?:pp[16]++;break; case ?r?:pp[17]++;break; case ?s?:pp[18]++;break; case ?t?:pp[19]++;break; case ?u?:pp[20]++;break; case ?v?:pp[21]++;break; case ?w?:pp[22]++;break; case ?x?:pp[23]++;break; case ?y?:pp[24]++;break; case ?z?:pp[25]++;break; } tt++; } }
第5 套 填空题
给定程序的功能是求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S=,在程序中定义的变量名要与公式的变量相同)。 R? 例如,输入圆的半径值:19.527,输出为:S=598.950017。 请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include
return 3.14159*___1___/2.0; }
main() {
double x;
printf(\scanf(\
printf(\
}
第1处填空:r*r 第2处填空:&x 第3处填空:x 改错题
假定整数数列中的数不重复,并存放在数组中。下列给顶程序中,函数fun的功能是删除数列中值为x的元素,同时将其他元素前移。N中存放的是数列中元素的个数。 请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include
fun(int *a, int n, int x) {
int p = 0, i; a[n] = x;
while (x != a[p]) p = p+1; if (p == n) {
return -1; } else {
/********found********/ for (i=p; i main() { int w[N] = {-3, 0, 1, 5, 7, 99, 10, 15, 30, 90}, x, n, i; n = 10; printf(\for (i=0; i printf(\scanf(\ printf(\n = fun(w, n, x); if (n == -1) { printf(\} else { printf(\for (i=0; i 第1处:a[i+1]=a[i];应改为a[i]=a[i+1] 编程题 请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。 例如,若输入:17,5,则应输出:19,23,29,31,37。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include void fun(int m, int k, int xx[]) { } main() { int m,n,zz[1000]; FILE *out; printf(\scanf(\fun( m,n,zz); for(m=0; m out = fopen(\for (m = 0; m < 20; m++) fprintf(out, \fclose(out); } 答案是: void fun(int m,int k,int xx[]) { int g=0,I,j,flag=1; for(i=m+1;i for(j=2;j if(i%j!=0) flag=1; else { flag=0; break; } } if(flag==1&&j>=i) { if(k>=0) { xx[g++]=I; k--; } else break; } } } 第6 套 填空题 给定程序的功能是计算并输出下列级数的前N 项之和,直到大于Q 为止,Q 的值通过形参传入。 sN sN 例如,若Q 的值为50.0,则函数值为50.416687。 请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。 试题程序:#include int n; double s; n = 2; s = 2.0; while (s ___1___ q) { s = s + (double)(n+1)/n; ___2___; } printf(\___3___; } main() { printf(\} 第1 处填空:<= 第2 处填空:n++或n+=1 或n=n+1 第3 处填空:return s 或return (s) 改错题 下列给定程序中,函数fun 的功能是:根据整型参m 的值,计算如下公式的值。 例如,若m 中的值为5,则应输出:0.536389 请改正程序中的错误,使程序能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include double y = 1.0; int i; /********found********/ for (i=2; i /********found********/ y -= 1/(i*i); return(y); } main() { int n = 5;
共分享92篇相关文档