二级C语言南开100题word版本
南开百题
计算机二级C语言上机南开100题--11: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
南开100题 二级C语言上机考试题库,共有100套题目
二级C语言上机考试题库,共有100套题目(前面为填空题题目,后面同序号依次为此套题的填空题、改错题、编程题答案)1、给定程序中,函数f un的功能是根据形参i的值返回某个函数的值。
当调用正确时, 程序输出:x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
1、(1)double(2)f1(3)f21、(1)char *f un(char *s,char *t)(2)ss++;(3)tt++;1、void f un(char *w, int m){char a[N];int i;f or(i=0;i<m;i++) a[i]=w[i];while(w[i]) { w[i-m]=w[i]; i++;}i--;m--;f or(;m>=0;m--,i--) w[i]=a[m];}2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。
函数f un的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
2、(1)struct student(2)n-1(3)a[i].name,a[j].nam e2、(1)q=p+i;(2)while(q>p)2.int f un( STREC *a,STREC *b,int l, int h ){int i,j=0;f or(i=0;i<N;i++){if(a[i].s>=l && a[i].s<=h){b[j]=a[i];j++;}}return j;}3、给定程序中,函数f un的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
计算机二级c 南开100题
124、以下叙述正确的是A)输入项可以是一个实型常量,如:scanf("%f"、3、5); B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d); C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4、2f",&f); D)当输入数据时,必须指明变量地址,例如:scanf("%f、&f); 、C、2125、以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替。
B) do-while语句构成的循环只能用break语句退出。
C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。
、D、2126、以下叙述中不正确的是A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。
B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。
C) 在C中,外部变量的隐含类别是自动存储类别。
D) 在C中,函数形参可以说明为register 变量。
、C、2127、以下叙述中不正确的是____ A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效、D、2128、以下程序运行后,输出结果是A)1000 B)10010 C)00110 D)10100 main () { int y=18,i=0,j,a[8]; do { a[i]=y%2;i++; y=y/2; } while(y>=1); for(j=i-1>0;j--)printf(%d",a[j]); printf("h\n"); }、B、2129、以下程序运行后,如果从键盘上输入:book book 则输出结果是A)*8 B)#9 C)#6 D)*9 #include main() {char a1[80],a2[80],*s1=a1,*s2=a2; gets(s1); gets(s2); if(!strcmp(s1,s2)) printf(“*”); else printf(“#”); printf(“%d\n”,strlen(strcat(s1,s2))) }、B、2130、以下程序运行后,输出结果是A)6385 B)22 C)33 D)693825 main() { char ch[2][5]={"693","825"},*p[2]; int i,j,s=0; for (i=0;i='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }、A、2131、以下程序运行后,输出结果是A)84 B)99 C)95 D)44 int d=1; fun (int p) { int d=5; d+=p++; printf("%d",d); } main() { int a=3; fun(a); d+=a++; printf("%d\n",d); }、A、2132、以下程序执行后a的值是A)4 B)1 C)0 D)运行时出错,a无定值main() { int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; printf("%d\n",a); } 、C、2133、以下程序执行后sum的值是A)15 B)14 C) 不确定D)0 min() { int i , sum; for(i=1;i、C、2134、以下程序中,while循环的循环次数是main() { int i=0; while(i、D、2135、以下定义语句中,错误的是A) int a[]={1,2}; B) char *a[3]; C) char s[10]="test"; D) int n=5,a[n];、D、2136、以下对C语言函数的有关描述中,正确的是A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件中、A、2137、以下对枚举类型名的定义中正确的是____ A)enum a={one,two,three}; B)enum a {one=9,two=-1,three}; C)enum a={"one","two","three"}; D)enum a {"one","two","three"};、B、2138、以下各选项企图说明一种新的类型名,其中正确的是A) typedef v1 int; B) typedef v2=int; C) typedefv1 int v3; D) typedef v4: int;、C、2139、以下选项中,不能正确赋值的是A) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'}; C) char s3[20]="Ctest"; D) char *s4="Ctest\n"、A、2140、以下选项中,非法的字符常量是A) '\t' B) '\17' C)"n" D) '\xaa'、C、2141、以下选项中不属于C语言的类型的是A) signed short imt B) unsigned long int C) unsigned int D) long short、D、2142、以下选项中合法的字符常量是A)"B" B) '\010' C) 68 D) D、B、2143、以下循环体的执行次数是A) 3 B) 2 C) 1 D) 0 main() { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i); }、C、2144、以下有4组用户标识符,其中合法的一组是A) for B) 4d C) f2_G3 D) if、C、2145、用十进制数表示表达式:12/012的运算结果是A)1 B)0 C)14 D)12、A、2146、有如下程序main0 { int x=23; do { printf("%d",x--);} while(!x); } 该程序的执行结果是A) 321 B) 23 C) 不输出任何内容D) 陷入死循环、B、2147、有如下程序int runc(int a,int b) { return(a+b);} main0 { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%\d\n",r); } 该程序的输出的结果是A) 12 B) 13 C) 14 D) 15、D、2148、有如下程序long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main0 { printf("%d\n",fib(3)); 该程序的输出结果是A) 2 B) 4 C) 6 D) 8、B、2149、有如下程序main() { char s[]="ABCD", *p; for(p=s+1; p、D、2150、有如下程序main0 { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i、A、2上一页[1] [2] [3] [4] [5] [6] [7] [8] 下一页计算机等级考试二级C语言超级经典400道题目baidu151、有如下程序main0 { int a=2,b=-1,c=2; if(a、C、2152、有如下程序main0 { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是A) 6 B) 3 C) 死循环D) 0、C、2153、有如下程序main0 { int n[5]={0,0,0},i,k=2; for(i=0;i、D、2154、有如下程序main0 { int n=9; while(n>6) {n--;printf("%d",n);} } 该程序段的输出结果是A) 987 B) 876 C) 8765 D) 9876、B、2155、有如下程序main0 { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++ case 2: a++;b++ } printf("a=%d,b=%d\n",a,b); } 该程序的输出结果是A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2、A、2156、有如下程序main0 { int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2); } 运行该程序的输出结果是A) 3 4 B) 4 2 C) 4 3 D) 3 3、D、2157、有如下程序段int *p,a=10,b=1 p=&a; a=*p+b; 执行该程序段后,a的值为A) 12 B) 11 C) 10 D) 编译出错、B、2158、有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是A) *p+9 B) *(p+8) C) *p+=9 D) p+8、B、2159、请读程序: # include void main( ) {char x=112,y=211; printf("\n%d",x<>1);} 则上面程序的输出结果是____ A) -32 B) 0 C) -32768 D) -22、A、2160、以下程序的输出结果是m。
NCRE全国计算机等级考试二级C语言上机---南开100题答案
填空题答案第1题答案第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或1l或1L第2题答案第1处填空:n==0或0==n或!n第2处填空:n==1或1==n第3处填空:fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)第3题答案第1处填空:n--或--n或n-=1或n=n-1第2处填空:s[i]=s[n]或*(s+i)=*(s+n)第3处填空:s[n]=t或*(s+n)=t第4题答案第1处填空:i<=n或n>=i第2处填空:||第3处填空:1.0或(double)1第5题答案第1处填空:r*r第2处填空:&x第3处填空:x第6题答案第1处填空:<=第2处填空:n++或n+=1或n=n+1 第3处填空:return s或return (s) 第7题答案第1处填空:n%10第2处填空:break第3处填空:break第8题答案第1处填空:&num[i]或num+i第2处填空:max<num[i]?或num[i]>max?第3处填空:num[i]!=0或0!=num[i] 第9题答案第1处填空:(*a)++或++(*a)或*a=*a+1或*a+=1第2处填空:(*b)++或++(*b)或*b=*b+1或*b+=1第3处填空:upper,lower第10题答案第1处填空:max=a第2处填空:max=b第3处填空:max=c第11题答案第1处填空:1第2处填空:s[k]或*(s+k)第3处填空:c第12题答案第1处填空:tt[i]<='Z'或'Z'>=tt[i]第2处填空:32或'a'-'A'第3处填空:tt第13题答案第1处填空:char*fun(int n)第2处填空:2第3处填空:n%i==0或!(n%i)或0==n%i第14题答案第1处填空:*p或*p!='\0'或*p!=0第2处填空:i++或++i或i+=1或i=i+1第3处填空:'\0'或0第15题答案第1处填空:!=第2处填空:str[1]或*(str+1)第3处填空:s,c第16题答案第1处填空:n%100!=0或n%100或0!=n%100第2处填空:n%400==0或!(n%400)或0==n%400第3处填空:flag第17题答案第1处填空:n第2处填空:else第3处填空:a,b第18题答案第1处填空:*p==t或t==*p第2处填空:bb[n++]=i第3处填空:n第19题答案第1处填空:score[i]或*(score+i)第2处填空:below第3处填空:below[i]或*(below+i)第20题答案第1处填空:i第2处填空:j第3处填空:aa,&n第21题答案第1处填空:j++或++j或j+=1或j=j+1第2处填空:s[i]=t1[i]第3处填空:j第22题答案第1处填空:&&第2处填空:0第3处填空:s[j]或*(s+j)第23题答案第1处填空:int x[]或int*x第2处填空:sum+=x[i]或sum=sum+x[i]第3处填空:sum/n第24题答案第1处填空:a第2处填空:a第3处填空:b第25题答案第1处填空:n/2第2处填空:i第3处填空:a[n-i-1]第26题答案第1处填空:i=1第2处填空:&&第3处填空:--j或j-1第27题答案第1处填空:j=2第2处填空:i第3处填空:j第28题答案第1处填空:1第2处填空:s*i或i*s第3处填空:0第4处填空:s+fun(k)或fun(k)+s第29题答案第1处填空:0第2处填空:i<=x或x>=i第30题答案第1处填空:--i或i--或i-=1或i=i-1第2处填空:s[i]-'0'第3处填空:t*10+k或k+t*10或10*t+k或k+10*t第31题答案第1处填空:*(p1+i)或p1[i]或*(p1+i)!=0或p1[i]!=0第2处填空:*p2或p2[0]或*p2!=0或p2[0]!=0第3处填空:*p2++第32题答案第1处填空:sum+=x[i]或sum=sum+x[i]第2处填空:avg*1000或1000*avg第3处填空:(avg+5)/10或(5+avg)/10第33题答案第1处填空:1第2处填空:i第3处填空:a[p+i]或*(a+p+i)第34题答案第1处填空:bb[i]=0或*(bb+i)=0第2处填空:bb[5]++或++bb[5]或bb[5]=bb[5]+1或bb[5]+=1第3处填空:p++;或++p;或p+=1;或p=p+1;第35题答案第1处填空:i<*num或*num>i第2处填空:n++或++n或n+=1或n=n+1第3处填空:*num=n第36题答案第1处填空:&&第2处填空:s[i]-'0'第3处填空:n第37题答案第1处填空:xx[i]%10第2处填空:bb[n++]=xx[i]第3处填空:n第38题答案第1处填空:n/100%10第2处填空:"yes!"第3处填空:"no!"第39题答案第1处填空:"%d",&n第2处填空:str2[i]=str1[i];第3处填空:str2第40题答案第1处填空:"%s",str1第2处填空:%c第3处填空:str2第41题答案第1处填空:"%ld",&n第2处填空:n=-n;或n*=-1;第3处填空:"%ld",n第42题答案第1处填空:*p或p[0]第2处填空:default:b[10]++;第3处填空:p++;或p+=1;或p=p+1;或++p;第43题答案第1处填空:*p或*p!=0或0!=*p 第2处填空:bb[*p-'0']++或bb[*p-'0']+=1第3处填空:num[j]=bb[i]第44题答案第1处填空:0第2处填空:||第45题答案第1处填空:s1-i-1或s1-1-i第2处填空:2*s1或s1*2第46题答案第1处填空:*k第2处填空:s[i]>max或max<s[i] 第3处填空:i第47题答案第1处填空:xx[i]%10第2处填空:bb[n++]=xx[i]第3处填空:n第48题答案第1处填空:n>0或0<n 第2处填空:n%10+'0'或'0'+n%10第3处填空:str[i]='\0'或str[i]=0第49题答案第1处填空:disc<0或0>disc第2处填空:sqrt第3处填空:sqrt第50题答案第1处填空:s第2处填空:*p++第3处填空:*(p)或*p或*p!=0第51题答案第1处填空:x>y或y<x第2处填空:x>z或z<x第3处填空:y>z或z<y第52题答案第1处填空:"out52.dat","w"第2处填空:fputc(ch,fp)第3处填空:fclose(fp)第53题答案第1处填空:i第2处填空:p->next=s第3处填空:p->next第54题答案第1处填空:*p1<*p2或*p2>*p1第2处填空:*p1>*p2或*p2<*p1第3处填空:'\0'或0第55题答案第1处填空:flag=1第2处填空:j%i==0或0==j%i或!(j%i)第3处填空:flag==1或1==flag第56题答案第1处填空:&&第2处填空:fputc(ch,fp1)第3处填空:fclose(fp)第57题答案第1处填空:double第2处填空:j第3处填空:1.0/t或(double)1/t第58题答案第1处填空:&n第2处填空:i=1第3处填空:f*=i或f=f*i或f=i*f第59题答案第1处填空:sum=0第2处填空:sum+=n或sum=sum+n或sum=n+sum第3处填空:ld第60题答案第1处填空:i<n或n>i第2处填空:j<n-1或n-1>j第61题答案第1处填空:bb[i]=0或*(bb+i)=0第2处填空:bb[i]+=score[i][j]或bb[i]=bb[i]+score[i][j]或bb[i]=score[i][j]+bb[i]第62题答案第1处填空:"%c",&str[i]或"%c",str+i第2处填空:str[i]!='*'或*(str+i)!='*'第3处填空:"%c",str[j]或"%c",*(str+j)第63题答案第1处填空:STU第2处填空:h第3处填空:h第64题答案第1处填空:str1[i]!=''或''!=str1[i]第2处填空:i++或++i或i+=1或i=i+1第65题答案第1处填空:bb[i][j]=1第2处填空:bb[i][j]=0第66题答案第1处填空:j>i或i<j第2处填空:bb[j]=bb[j-1]第3处填空:break第67题答案第1处填空:p=str第2处填空:p[i]++或++p[i]或p[i]+=1或p[i]=p[i]+1第3处填空:s[i]='\0'或s[i]=0第68题答案第1处填空:break第2处填空:'\0'或0第3处填空:*p++第69题答案第1处填空:<第2处填空:*p2或p2[0]第3处填空:str1第70题答案第1处填空:*(pstr+j)或pstr[j]第2处填空:pstr[j]或*(pstr+j)第3处填空:p第71题答案第1处填空:std[3]或std[]或*std第2处填空:PERSON第3处填空:std第72题答案第1处填空:N第2处填空:M第3处填空:bb[i]/N或*(bb+i)/N第73题答案第1处填空:bb[i][j]=0第2处填空:1第3处填空:j==n-1-i或j==n-i-1第74题答案第1处填空:*std或std[0]第2处填空:std[i].age第3处填空:第75题答案第1处填空:&n第2处填空:t*i或i*t第3处填空:s+t或t+s第76题答案第1处填空:i第2处填空:s[j]=s[i]第77题答案第1处填空:N-1第2处填空:bb[n++]=aa[i]第3处填空:i,bb[i]第78题答案第1处填空:fun(char s[],int n)或fun(char*s,int n)第2处填空:j=0第3处填空:s[j]='\0'或s[j]=0第79题答案第1处填空:aa[i]%2==0或0==aa[i]%2或aa[i]%2第2处填空:i<k或k>i第80题答案第1处填空:--i或i--或i-=1或i=i-1 第2处填空:bb[j]=bb[i]第81题答案第1处填空:sum=0第2处填空:t[i][i]第3处填空:1第82题答案第1处填空:i%10第2处填空:g*g*g==i或i==g*g*g 第83题答案第1处填空:break;第2处填空:i++或++i或i+=1或i=i+1第3处填空:'\0'或0第84题答案第1处填空:&&第2处填空:i,j第85题答案第1处填空:[N]第2处填空:t[i][j]第3处填空:t[j][i]第86题答案第1处填空:N第2处填空:N-1第3处填空:0第87题答案第1处填空:&&第2处填空:g+ 第88题答案第1处填空:s[i]或s[i]!=0或0!=s[i]第2处填空:s[i]==ch或ch==s[i]第3处填空:return n第89题答案第1处填空:s[i]!='\0'或s[i]或s[i]!=0第2处填空:32或'a'-'A'第3处填空:i++或++i或i+=1或i=i+1第90题答案第1处填空:STU第2处填空:std[i].num第3处填空:std[i]第91题答案第1处填空:i=1,j=0或j=0,i=1第2处填空:bb[j++]=i第3处填空:return j第92题答案第1处填空:str[i+1]或str[i+1]!='\0'或str[i+1]!=0第2处填空:str[i]=ch第93题答案第1处填空:aa[max]<aa[i]或aa[i]>aa[max]第2处填空:aa[min]>aa[i]或aa[i]<aa[min]第3处填空:aa[max]=aa[min]第94题答案第1处填空:i++或++i或i+=1或i=i+1第2处填空:s[j++]=s[i]第3处填空:s[j]='\0'或s[j]=0第95题答案第1处填空:0.0或0或(double)0第2处填空:n第3处填空:s第96题答案第1处填空:aa[k++]=t或aa[k]=t,k++或aa[k]=t;k++第2处填空:i<j或j>i第97题答案第1处填空:break第2处填空:t[i]第3处填空:u[ul]第98题答案第1处填空:s[i]!='\0'或s[i]或s[i]!=0第2处填空:25第3处填空:1第99题答案第1处填空:j%i==0或!(j%i)或0==j%i第2处填空:flag==1或flag或1==flag第3处填空:aver/n第100题答案第1处填空:k=0第2处填空:||第3处填空:s[k]='\0'或s[k]=0改错题答案第1题答案第1处:IsPrime(int n);应改为IsPrime(int n)第2处:if!(n%i)应改为if(!(n%i))第2题答案第1处:int k=1;应改为int k=0;第2处:while(*p!=*q)应改为while(*p||*q)第3题答案第1处:s[j]=s[i];应改为s[j++]=s[i];第2处:s[j]="\0";应改为s[j]='\0';第4题答案第1处:void fun(char*s,int a,int b)应改为void fun(char*s,int*a,int*b)第2处:a++;应改为(*a)++;第3处:b++;应改为(*b)++;第5题答案第1处:a[i+1]=a[i];应改为a[i]=a[i+1];第6题答案第1处:for(i=2;i<m;i++)应改为for(i=2;i<=m;i++)第2处:y-=1/(i*i);应改为y-=1.0/(i*i);第7题答案第1处:p=j应改为p=j;第2处:p=i;应改为p=j;第8题答案第1处:void fun(char*p);应改为void fun(char*p)第2处:p=q+i;应改为q=p+i;第9题答案第1处:t=s[k];应改为t+=s[k];第2处:*aver=&ave;应改为*aver=ave;第10题答案第1处:void fun(char*s,*t1,*t2,*w)应改为voidfun(char*s,char*t1,char*t2,char*w)第2处:while(r)应改为while(*r)第11题答案第1处:n=*p-'o';应改为n=*p-'0';第2处:n=n*7+*p-'o';应改为n=n*8+*p-'0';第12题答案第1处:a=NuLL;应改为a=NULL;3/13第2处:if(r==p)应改为if(*r==*p) 第13题答案第1处:t+=1.0/k;应改为t+=1.0/i; 第2处:应填return t;第14题答案第1处:int r;应改为double r;第2处:while(fabs(n-m)<0.001)应改为while(fabs(n-m)>0.001)第15题答案第1处:void fun(char str,char ch)应改为void fun(char*str,char ch)第2处:if(*str==ch)应改为if(*str=='\0')第3处:str[1]='0';应改为str[1]='\0';或str[1]=0;第16题答案第1处:p->next=NULL;应改为p=s; 第2处:s->data=rand()%m;应改为s->data=rand()%(m-1);第3处:return p;应改为return h; 第17题答案第1处:if((k%13=0)||(k%17=0))应改为if((k%13==0)||(k%17==0))第2处:应填}第18题答案第1处:void fun(int a,int b)应改为void fun(int*a,int*b)第2处:t=b;b=a;a=t;应改为t=*b;*b=*a;*a=t;第19题答案第1处:void fun(long s,long t)应改为void fun(long s,long*t)第2处:while(s<0)应改为while(s>0) 第20题答案第1处:void fun(int a[],int m)应改为int fun(int a[],int m)第2处:if(m>=a[mid])应改为if(m>a[mid])第21题答案第1处:p=h;应改为p=h->next;第2处:p=h->next;应改为p=p->next;第22题答案第1处:for(i=2;i<m;i++)应改为for(i=2;i<=m;i++)第2处:y+=1/(i*i);应改为y+=1.0/(i*i);第23题答案第1处:int fun(n)应改为int fun(int n)第2处:if(n=1)应改为if(n==1)第24题答案第1处:if(r==p)应改为if(*r==*p) 第2处:if(r=='\0')应改为if(*r=='\0') 第25题答案第1处:if n==0应改为if(n==0)第2处:result=n--;应改为result*=n--;第26题答案第1处:应填sum=0;第2处:scanf("%d,",a[i][j]);应改为scanf("%d,",&a[i][j]);第27题答案第1处:t=0;应改为t=1.0;第2处:while(t<=eps)应改为while(t>=eps)第28题答案第1处:s=p;应改为p=s;第2处:应填p++;或++p;或p+=1;或p=p+1第3处:a[i]='0';应改为a[i]='\0';或a[i]=0;第29题答案第1处:b=a;应改为a=b;第2处:return(a);应改为return(b);第30题答案第1处:long k;应改为long k=1;第2处:num\=10;应改为num/=10;第31题答案第1处:if((tt[i]>='a')||(tt[i]<='z'))应改为if((tt[i]>='a')&&(tt[i]<='z'))第2处:tt[i]+=32;应改为tt[i]-=32;第32题答案第1处:if(i+1%5==0)应改为if((i+1)%5==0)第33题答案第1处:while(*s!='@')应改为while(*s)或while(*s!='\0')或while(*s!=0)第2处:(*s)++;应改为s++;第34题答案第1处:t=0;应改为*t=0;第2处:if(d%2==0)应改为if(d%2!=0)第35题答案第1处:if(p=='')应改为if(*p=='')第2处:*p=toupper(*(p-1));应改为*(p-1)=toupper(*(p-1));第36题答案第1处:j=1;应改为j=0;第2处:while(t!=0&&m!=0&&n!=0)应改为while(t!=0||m!=0||n!=0)第37题答案第1处:*r=t;应改为r=t;或r=&t[0];第2处:应填r=t;或r=&t[0];第38题答案第1处:t=x;x=y;应改为t=*x;*x=y;第2处:return(y);应改为return(t);或return t;第39题答案第1处:void fun(char s,char t)应改为void fun(char*s,char*t)第2处:t[2*d-1]='\0';应改为t[2*d]='\0';或t[d+i]='\0';或t[2*d]=0;或t[d+i]=0;第40题答案第1处:for(i=j+1;i<n-1;i++)应改为for(i=j+1;i<n;i++)第2处:t=i;应改为p=i;第41题答案第1处:while(p->next)应改为while(p!=NULL)第2处:p=h->next;应改为p=p->next;第42题答案第1处:if(i%2&&s[i]%2==0)应改为if(i%2||s[i]%2==0)或if(i%2!=0||s[i]%2==0)第2处:t[i]='\0';应改为t[j]='\0';或t[j]=0;第43题答案第1处:k=n;应改为k=i;第2处:b=k/10;应改为b=k%10;第44题答案第1处:fun(int**a,int m)应改为voidfun(int(*a)[M],int m)第2处:a[j][k]=k*j;应改为a[j][k]=(k+1)*(j+1);第45题答案第1处:void fun(char*s,t1,t2,w)应改为voidfun(char*s,char*t1,char*t2,char*w)第2处:while(w)应改为while(*w)第46题答案第1处:fun(int n)应改为doublefun(int n)第2处:return sum应改为returnsum;第47题答案第1处:void fun(int*a,int n);应改为void fun(int*a,int n)第2处:m=0;应改为m=i;第48题答案第1处:fun(char(*sq)[N])应改为char*fun(char(*sq)[M])第2处:return sq;应改为return sp;第49题答案第1处:*t=malloc(sizeof(STU));应改为t=(STU*)malloc(sizeof(STU)*m);第2处:t[k].num=b[j].num;应改为strcpy(t[k].num,b[j].num);第50题答案第1处:t[i]=s[s1-i];应改为t[i]=s[s1-i-1];或t[i]=s[s1-1-i];第51题答案第1处:void fun(char str[][],int m,char*pt)应改为void fun(char str[][10],int m,char*pt)第2处:pt[i]=str[k,i];应改为pt[i]=str[k][i];第52题答案第1处:int fun(double x[],int n)应改为int fun(double x[],int n){第53题答案第1处:switch(g);应改为switch(g) 第2处:case 1;应改为case 1:第54题答案第1处:double fun(char*s,char*t)应改为char*fun(char*s,char*t)第2处:(*ss)++;应改为ss++;第3处:(*tt)++;应改为tt++;第55题答案第1处:y=0;应改为y=1;第2处:d=i-a;应改为d=a-i;第56题答案第1处:void fun(char(*pstr)[6])应改为void fun(char*pstr[6])第2处:if(strcmp(*(pstr+i),pstr+j)>0)应改为if(strcmp(*(pstr+i),*(pstr+j))>0)第3处:*(pstr+i)=pstr+j;应改为*(pstr+i)=*(pstr+j);第57题答案第1处:while(i>j)应改为while(i<j)或while(j>i)第2处:c=0;应改为*c='\0';或*c=0; 第58题答案第1处:for(i=0;i<=s1;i++)应改为for(i=0;i<s1;i++)第2处:t[s1]='\0';应改为t[2*s1]='\0'; 第59题答案第1处:void fun(char*s,int num[5]);应改为void fun(char*s,int num[5]) 第2处:num[i]=0;应改为num[k]=0; 第3处:switch(s)应改为switch(*s) 第60题答案第1处:if(i%k!=0)应改为if(i%k==0)第2处:if(k<i)应改为if(k>=i)第61题答案第1处:fun(int m)应改为double fun(int m)第2处:for(i=100,i<=m,i+=100)应改为for(i=100;i<=m;i+=100)第62题答案第1处:break应改为break;第63题答案第1处:i=1;应改为i=0;第2处:while(i<3||*p)应改为while(i<3&&*p)第3处:b[k]='';应改为b[k++]='';第64题答案第1处:c=c-32;应改为c=c+32;第2处:c=c-5;应改为c=c+5;第65题答案第1处:void fun(long s,long t)应改为void fun(long s,long*t)第2处:s1=s1*100;应改为s1=s1*10;第66题答案第1处:fun(int n)应改为doublefun(int n)第2处:b+=c;应改为b=c;第67题答案第1处:fun(double a,double x0)应改为double fun(double a,double x0)第2处:if(abs(x1-x0)>=1e-6)应改为if(fabs(x1-x0)>=1e-6)第68题答案第1处:return 1;应改为return 3;第2处:return 3;应改为return 1;第69题答案第1处:void upfst(char p)应改为void upfst(char*p)第70题答案第1处:int fun(int*b);应改为intfun(int*b)第2处:for(k=10;k<=55;k++)应改为for(k=1;k<55;k++)第3处:return k;应改为return i;第71题答案第1处:if k>1应改为if(k>1)第72题答案第1处:int fun(char*str,*substr)应改为int fun(char*str,char*substr)第2处:for(i=0,str[i],i++)应改为for(i=0;str[i];i++)第73题答案第1处:t=1.0-1/i;应改为t-=1.0/i;或t=t-1.0/i;或t-=(double)1/i;第2处:应填return t;第74题答案第1处:c=aa[i];应改为ch=aa[i];第75题答案第1处:int fun(int m,int xx[][])应改为int fun(int m,int xx[][M])第2处:printf("%4f",xx[i][j]);应改为printf("%4d",xx[i][j]);第76题答案第1处:long s1=0;应改为long s1=1;第2处:s\=10;应改为s/=10;第77题答案第1处:void fun(char a)应改为voidfun(char*a)第78题答案第1处:k++应改为k++;第2处:if(m=k)应改为if(m==k)第79题答案第1处:c[t]="\0";应改为c[t]='\0';第80题答案第1处:fun(int n)应改为doublefun(int n)第2处:s=s+(Double)a/b;应改为s=s+(double)a/b;第81题答案第1处:fun(int n)应改为doublefun(int n)第2处:for(i=2;i<n;i++)应改为for(i=2;i<=n;i++)第82题答案第1处:result*=--n;应改为result*=n--;第2处:应填return result;第83题答案第1处:void fun(int x,int y)应改为void fun(int*x,int*y)第2处:t=x;x=y;y=t;应改为t=*x;*x=*y;*y=t;第84题答案第1处:void fun(int m,int k);应改为void fun(int m,int k)第2处:aa[i]=m/k;应改为aa[i]=m%k;第3处:printf("%d",aa[i]);应改为printf("%d",aa[i-1]);第85题答案第1处:s[j]=s[i];应改为s[j++]=s[i];第2处:s[i]='\0';应改为s[j]='\0';第86题答案第1处:float*k;应改为float k;第2处:if(*s<*p)应改为if(*s>*p)第87题答案第1处:void fun(int a)应改为voidfun(int a[M])或void fun(int a[])或void fun(int*a)第2处:a[j]=a[j+1];应改为a[j]=a[j-1];第88题答案第1处:for(i=0;i<=3;i++)应改为for(i=1;i<=3;i++)第2处:if(k>=1&&k<=6)应改为if(k>=0&&k<=6)5/13第89题答案第1处:for(i=1;i<y;i++)应改为for(i=1;i<=y;i++)第2处:t=t/1000;应改为t=t%1000; 第90题答案第1处:d=0;应改为d=1;第2处:s=1;应改为s=0;第3处:s=s/10;应改为d=d/10;第91题答案第1处:for(i=strlen(t);i;i--)应改为for(i=strlen(t)-1;i;i--)或for(i=strlen(t)-1;i>0;i--)第2处:if(t[j]<t[j+1])应改为if(t[j]>t[j+1])第92题答案第1处:long s=0,t=1;应改为long s=0,t=0;第2处:for(j=0;j<=n;j++)应改为for(j=0;j<n;j++)第3处:t=t%10;应改为t=t/10;第93题答案第1处:while(t>=num)应改为while(fabs(t)>=num)第2处:t=s%n;应改为t=s/n;第94题答案第1处:int sum=0.0;应改为double sum=0.0;第2处:sum\=c;应改为sum/=c;第95题答案第1处:s=s+(n+1)/n;应改为s=s+(double)(n+1)/n;第2处:return s;应改为return t;第96题答案第1处:fun(int k)应改为double fun(int k)第2处:return s应改为return s;第97题答案第1处:f(double x)应改为double f(double x)第2处:return s应改为return s;第98题答案第1处:#define FU(m,n)(m/n)应改为#define FU(m,n)(m)/(n)第2处:Return(value);应改为return(value);第99题答案第1处:int i,j,k,sum;应改为int i,j=0,k,sum;第2处:if(sum%4=2)应改为if(sum%4==2)第100题答案第1处:if(t=0)应改为if(t==0)第2处:zero=count;应改为*zero=count; 编程题答案第1题答案int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}第2题答案void fun(int*a,int*n){int i,j=0;for(i=2;i<1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}第3题答案void fun(int x,int pp[],int*n){int i=1,j=0,k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=i;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}第4题答案void fun(char*tt,int pp[]){int i;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题答案void fun(int m,int k,int xx[]){int g=0,i,j,flag=1;for(i=m+1;i<m*m;i++){for(j=2;j<i;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if(flag==1&&j>=i){if(k>=0){xx[g++]=i;k--;}elsebreak;}}}第6题答案void fun(char a[],char b[],int n){int i,j=0;for(i=0;i<LEN;i++)if(i!=n){b[j]=a[i];j++;}b[j]='\0';}第7题答案void fun(int*s,int t,int*k){int i,max;max=s[0];for (i=0;i<t;i++)if (s[i]>max){max=s[i];*k=i;}}第8题答案float fun(int n){int i;float s=1.0,t=1.0;for(i=2;i<=n;i++){t=t+i;s=s+1/t;}return s;}第9题答案float fun(int m,int n){float p,t=1.0;int i;for(i=1; i<=m; i++)t=t*i;p=t;for(t=1.0,i=1; i<=n; i++)t=t*i;p=p/t;for(t=1.0,i=1; i<=m-n; i++)t=t*i;p=p/t;return p;}第10题答案float fun(){float x1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6);return x1;}第11题答案int fun(int a[][N]){int i,j;for(i=0; i<N; i++)for(j=0; j<=i; j++)a[i][j]=0;}第12题答案double fun(int w[][N]){int i,j,k=0;double s=0.0;for(j=0; j<N; j++){s+=w[0][j];k++;}for(j=0; j<N; j++){s+=w[N-1][j];k++;}for(i=1; i<=N-2; i++){s+=w[i][0];k++;}for(i=1; i<=N-2; i++){s+=w[i][N-1];k++;}return s/=k;}第13题答案void fun(int tt[M][N],int pp[N]){int i,j,min;for(j=0; j<N; j++){min=tt[0][j];for(i=0; i<M; i++){if(tt[i][j]<min)min=tt[i][j];}pp[j]=min;}}第14题答案int fun(int a[M][N]){int i,j,s=0;for(j=0; j<N; j++){s+=a[0][j];s+=a[M-1][j];}for(i=1; i<=M-2; i++){s+=a[i][0];s+=a[i][N-1];}return s;}第15题答案unsigned fun(unsigned w){unsigned t,s=0,s1=1,p=0;t=w;while(t>10){if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;}return s;}第16题答案float fun(float h){long t;float s;h=h*1000;t=(h+5)/10;s=(float)t/100.0;return s;}第17题答案void fun(char*s){char ch;int i,m,n;i=0;m=n=strlen(s)-1;while(i<(n+1)/2){ch=s[i];s[i]=s[m];s[m]=ch;i++;m--;}}第18题答案void fun(int array[3][3]){int i,j,temp;for(i=0; i<3; i++)for(j=0; j<i;j++){temp=array[i][j];array[i][j]=array[j][i];array[j][i]=temp;}}第19题答案void fun(char s[],int c){int i=0;char*p;p=s;while(*p){if(*p!=c){s[i]=*p;i++;}p++;}s[i]='\0';}第20题答案int fun(int lim,int aa[MAX]){int k=0,i,j;for(i=lim; i>1; i--){for(j=2; j<i; j++)if(i%j==0)break;elsecontinue;if(j>=i){aa[k]=i;k++;}}return k++;}第21题答案void fun(char*s,int num){char t;int i,j;for(i=1; i<num-2; i++)for(j=i+1; j<num-1; j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}7/13}第22题答案double fun(STREC*h){double max;STREC*q=h;max=h->s;do{if(q->s>max)max=q->s;q=q->next;}while(q!=0);return max;}第23题答案int fun(char*str){int i,n=0,fg=1;char*p=str;while(*p){n++;p++;}for(i=0; i<n/2; i++)if(str[i]==str[n-1-i]);else{fg=0;break;}return fg;}第24题答案long fun(char*p){long s=0,t;int i=0,j,n=strlen(p),k,s1;if(p[0]=='-')i++;for(j=i; j<=n-1; j++){t=p[j]-'0';s1=10;for(k=j; k<n-1; k++)t*=s1;s+=t;}if(p[0]=='-')return-s;elsereturn s;}第25题答案char*fun(char*s,char*t) {char*p,*t1=t,*s1=s;int n=0,m=0;while(*s1){n++;s1++;}while(*t1){m++;t1++;}if(n>=m)p=s;elsep=t;return p;}第26题答案double fun(double eps){double s;float n,t,pi;t=1; pi=0; n=1.0; s=1.0;while((fabs(s))>=eps){pi+=s;t=n/(2*n+1);s*=t;n++;}pi=pi*2;return pi;}第27题答案void fun(int m,int*a,int*n){int i,j=0; *n=0;for(i=1; i<=m; i++)if(i%7==0||i%11==0){a[j]=i;j++;}*n=j;}第28题答案void fun(int a[],int n,int*max,int*d){int i;*max=a[0];*d=0;for(i=0; i<n; i++)if(a[i]>*max){*max=a[i];*d=i;}}第29题答案void fun(char*ss){int i,n;n=strlen(ss);for(i=1; i<n; i+=2)if(ss[i]>='a'&&ss[i]<='z')ss[i]=ss[i]-32;}第30题答案int fun(int a[][M]){int i,j,max;max=a[0][0];for(i=0; i<2; i++)for(j=0; j<M; j++)if(a[i][j]>max)max=a[i][j];return max;}第31题答案void fun(char*s,char t[]){int i,j=0,n;n=strlen(s);for(i=0; i<n; i++)if(i%2==0&&s[i]%2==0){t[j]=s[i];j++;}t[j]='\0';}第32题答案void fun(char*s,char t[]){int i,j=0,n;n=strlen(s);for(i=0; i<n; i++)if(i%2!=0&&s[i]%2!=0){t[j]=s[i];j++;}t[j]='\0';}第33题答案void fun(char*a,int n){int i=0,k=0;char*p,*t;p=t=a;while(*t)t++;t--;while(*t=='*'){k++;t--;}t++;if(k>n){while(*p&&p<t+n){a[i]=*p;i++;p++;}a[i]='\0';}}第34题答案int fun(STREC*a,STREC*b){int i,j=0,n=0,max;max=a[0].s;for(i=0; i<N; i++)if(a[i].s>max)max=a[i].s;for(i=0; i<N;i++)if(a[i].s==max){*(b+j)=a[i];j++;n++;}return n;}第35题答案void fun(char*str){int i=0;char*p=str;while(*p){if(*p!=''){str[i]=*p;i++;}p++;}str[i]='\0';}第36题答案void fun(char*a){int i=0,n=0;char*p;p=a;while(*p=='*'){n++;p++;}while(*p){a[i]=*p;i++;p++;}while(n!=0){a[i]='*';i++;n--;}a[i]='\0';}第37题答案void fun(STREC*p) {double av=0.0;int i;for(i=0; i<N; i++)av+=p->s[i];av/=N;p->ave=av;}第38题答案int fun(char*ss,char c) {int n=0;while(*ss){if(*ss==c)n++;ss++;}return n;}第39题答案void fun(int*w,int p,int n) {int b[N],i,j=0;for(i=0; i<=p; i++)b[i]=w[i];for(i=p+1; i<n; i++){w[j]=w[i];j++;}for(i=0; i<=p; i++){w[j]=b[i];j++;}}第40题答案void fun(char*w,int m){char b[N];int i,j=0;for(i=0; i<m; i++){b[j]=w[i];j++;}for(i=0; i<strlen(w)-m; i++)w[i]=w[i+m];for(j=0; j<m; j++){w[i]=b[j];i++;}w[i]='\0';}第41题答案void fun(char(*s)[N],char*b){int i,j,k=0;for(j=0; j<N; j++)for(i=0; i<M; i++){b[k]=*(*(s+i)+j);k++;}b[k]='\0';}第42题答案void fun(int a[][N],int m){int i,j;for(j=0; j<N; j++)for(i=0; i<=j; i++)a[i][j]=a[i][j]*m;}第43题答案char*fun(char(*a)[81],int num){int i;char*max;max=a[0];for(i=0; i<num; i++)if(strlen(max)<strlen(a[i]))max=a[i];return max;}第44题答案int fun(char*str,char*substr){int n;char*p,*r;n=0;while(*str){p=str;r=substr;while(*r)if(*r==*p){r++;p++;}elsebreak;if(*r=='\0')n++;str++;}return n;}第45题答案void fun(char*a,int n,int h,int e){int i=0;char*p;for(p=a+h; p<a+n-e; p++){*(a+i)=*p;i++;}*(a+i)='\0';}第46题答案void fun(STREC a[]){int i,j;STREC t;for(i=0; i<N-1; i++)for(j=i; j<N; j++)if(a[i].s<a[j].s){t=a[i];a[i]=a[j];a[j]=t;}}第47题答案void fun(char*ss){int i,n=0;char*p=ss;while(*p){n++;p++;}for(i=0; i<n; i++)if((ss[i]>='a'&&ss[i]<='z')&&i%2!=0)ss[i]=ss[i]-32;ss[i]='\0';}第48题答案void fun(int a,int b,long*c){*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;}第49题答案void fun(char*s,char t[]){int i,j=0,n=strlen(s);for(i=0; i<n; i++)if(i%2==0&&s[i]%2!=0);9/13else{t[j]=s[i];j++;}t[j]='\0';}第50题答案void fun(STU a[],STU*s){int i,max;max=a[0].s;for(i=0; i<N; i++)if(a[i].s>max){max=a[i].s;*s=a[i];}}第51题答案void fun(int m,int*k,int xx[]){int i,j;int t=0;for(i=2; i<m; i++){j=2;while(j<i){if(i%j==0){xx[t]=i;t++;break;}j++;}*k=t;}}第52题答案void fun(char p1[],char p2[]){int i=0,n=0;char*p=p1,*q=p2;while(*p){p++;n++;}i=n;while(*q){p1[i]=*q;q++;i++;}p1[i]='\0';}第53题答案void fun(int a[3][3],int b[3][3]){int i,j,at[3][3];for(i=0; i<=2; i++)for(j=0; j<=2; j++)at[i][j]=a[j][i];for(i=0; i<3; i++)for(j=0; j<3; j++)b[i][j]=a[i][j]+at[i][j]; }第54题答案double fun(STREC*a,STREC*b,int*n){double aver=0.0;int i,j=0;*n=0;for(i=0; i<N; i++)aver+=a[i].s;aver/=N;for(i=0; i<N; i++)if(a[i].s<aver){b[j]=a[i];(*n)++;j++;}return aver;}第55题答案void fun(int(*s)[10],int*b,int*n,int mm,intnn){int i,j;for(i=0; i<mm; i++)for(j=0; j<nn; j++){b[*n]=*(*(s+i)+j);*n=*n+1;}}第56题答案void fun(char*a,char*p){int i=0;char*q=a;while(q<=p){if(*q!='*'){a[i]=*q;i++;}q++;}while(*q){a[i]=*q;i++;q++;}a[i]='\0';}第57题答案int fun(STREC*a,STREC*b,int l,int h){int i,j=0;for(i=0; i<N; i++)if(a[i].s>=l&&a[i].s<=h){b[j]=a[i];j++;}return j;}第58题答案double fun(int n){double s=0.0;int i;for(i=1; i<n; i++)if(i%3==0&&i%7==0)s=s+i;s=sqrt(s);return s;}第59题答案void fun(char a[M][N],char*b){int i,j,k=0;for(i=0; i<M; i++){for(j=0; j<N; j++)if(*(*(a+i)+j)){b[k]=*(*(a+i)+j);k++;}elsebreak;b[k]='\0';}}第60题答案int fun(int a[],int n){int i,t,j=0,*p=a;t=p[0];for(i=0; i<=n; i++)if(t==p[i]);else{a[j]=t;t=p[i];j++;}if(i>=n)a[j]=t;return j;}第61题答案void fun(int*a,int*b){int i,j;for(j=0; j<M; j++)b[j]=0;for(i=0; i<N; i++)if(a[i]>=0&&a[i]<=9)b[0]+=1;else if(a[i]>=10&&a[i]<=19)b[1]+=1;else if(a[i]>=20&&a[i]<=29)b[2]+=1;else if(a[i]>=30&&a[i]<=39)b[3]+=1;else if(a[i]>=40&&a[i]<=49)b[4]+=1;else if(a[i]>=50&&a[i]<=59)b[5]+=1;else if(a[i]>=60&&a[i]<=69)b[6]+=1;else if(a[i]>=70&&a[i]<=79)b[7]+=1;else if(a[i]>=80&&a[i]<=89)b[8]+=1;else if(a[i]>=90&&a[i]<=99)b[9]+=1;elseb[10]+=1;。
南开100题二级C
1、 编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。
例子如:字符串中原有的内容为:abcdefg,则调用该函数后,串中的内容为:gfedcba 。
试题程序:#include <string.h>#include <conio.h>#include <stdio.h>#define N 81/*注:该题的算法是先分别找出字符串的两头,然后同时逐一往中间移动,每移动一次 都进行两字符的位置对换,直到中间字符(用s+i<s+n-1-i来控制)。
由于s+i中一个 地址,因此要注意把它的内容取出再进行换位。
即先进行取内容运算*) */fun(char *s){ int i=0,t,n=strlen(s);for(;s+i<s+n-1-i;i++){t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;}}main(){ char a[N];clrscr();printf("Enter a string:"); gets(a);printf("The original string is:");puts(a);fun(a);printf("\n");printf("The string after modified:");puts(a);}2、 写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,输入一面的矩阵:程序输出:试题程序:#include <stdio.h>#include <conio.h>/*这题的关键在于进行行列下标转换的算法,由矩阵的对称性我们不难看出在进行行列 互换时a[j]在好是与a[j][i]互换,因而只要我位让程序走完矩阵的左上角即可(用 for(i=0;i<2;i++)再套for(j=i+1;j<3;j++)来完成左上角的走动。
全国计算机考试二级C语言南开100题答案(Word版)
全国计算机考试二级C语言南开100题答案(Word版)1、B:STYPE FILE fp M:for(i = 0 ; i < sl ; i++) t[2*sl] = 0; P: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2、B: *fw str str M: long *t sl = sl*10; P: *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3、B: fp fclose(fp) fname M: i<n p=i P: *c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);4、B: “r”ft fs M:(d%2==0) s /= 10; P: *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);5、B: x p s M:long k=1; num/=10 ;P: int i; float ave=0.0; for(i=0; i<n; i++) ave=ave+a[i] ; ave=ave/n; return ave;6、B: next t->data t M:fun (char *a) printf("%c", *a) ; P: int i; char *p=s, *q=t; for(i=0;*p && *q; i++) {p++; q++; } if(*p == 0 && *q == 0) return s ; if(*p) return s ; else return t ;7、B: q next next M: p = j; p=i; P: int i ; *n=0 ; for(i=7 ; i<=m; i++) if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ;8、B: NULL n head,ch M: for c[t]='\0'; P: int i ; for(i = 1 ; i < strlen(*ss) ; i+=2) { if(ss[i] >= 'a' && ss[i] <= 'z') ss[i] -= 32 ;9、B: *n next head M: a = NULL; *r == *p P: int i, j = 0 ; for(i = 0 ; i < strlen(s) ; i += 2) if(s[i] % 2 == 0) t[j++] = s[i] ; t[j] = 0 ;10、B: data next head M: *r r++; P: int i, j = 0 ; for(i = 1 ; i < strlen(s); i+=2) t[j++] = s[i] ; t[j] = 0 ;11、B: STU std[i].num std[i] M: p++; *r==‟\0‟ ;P: int i, j = 0 ; for(i = 0 ; i < strlen(s); i++) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ;12、B: std[i].year std[i] n M:分号去掉if (!( n%i ))P: int i, max = a[0].s, j = 0; for(i = 1 ; i < N ; i++) if(max < a[i].s) { j = i ; max = a[i].s ; } *s = a[j] ;13、B: STU score[i] &std M:( ) k= =0 P: int i, j; for(i = 0 ; i < N ; i++) for(j = 0 ; j <= i; j++) a[i][j] *= n ;14、B: *std PERSON std M:int str[k][i] P: int i, j; for(i = 0 ; i < N ; i++) for(j = 0 ; j <= i; j++) a[i][j] =0;15、B: *std std[i].age M: int *b t = *b; *b = *a ; *a = t; P: int i,j, min, k ; for(i= 0 ; i < N ; i++) { min = tt[0][i] ; k = 0 ; for(j = 1 ; j < M ; j++) if(min > tt[j][i]) { min=tt[j][i] ; k = j ; } pp[i] = tt[k][i] ; }16、B: tt tt.score[i]std M: m=i m=kP: if(w>10000) w %= 10000 ; else if(w>1000) w %= 1000 ; else if(w>100) w %= 100 ; else if(w>10) w %=10 ; return w ;17、B: i+1 k=j t M: char *str != 0P: char b[N] ; int i = 0, j ; for(j = strlen(s) - 1 ; j >= 0 ; j--) b[i++] = s[j] ; b[i]=0; strcpy(s, b) ;18、B: k len ss[i][j] M:n-- result P: char *p = s ; int i = 0 ; while(*p) { if(*p != c) s[i++] = *p ; p++ ; } s[i] = 0 ;19、B:ss[i] n+j 1 M: *p ; P: char ch ; int i, j ; for(i = 1 ; i < 6 ; i++)for(j = i + 1 ; j < 6 ; j++) { if(*(s + i) < *(s + j)) { ch = *(s + j) ; *(s + j) = *(s +i) ; *(s + i) = ch ; } }20、B: [N] len *n=len M:t += 1.0/i; return t; P: int cnt = 0 ; char *p = str, *q ;while(*p) {q = strstr(p, substr) ; if(q == NULL) break; p = q + strlen(substr) ; cnt++ ; } return cnt ;strstr:在前串中找出后串第一次出现的位置,若找到返回地址否则返回NULL21、B: M < k M: && tt[i] -= 32;P: int i,j;*k=0;for(i=2;i<m;i++){for(j=2;j<=i/2;j++)if(i%j==0) break; if(j<=i/2) {xx[*k]=i;(*k)++;}}22、B: j++ s[i]=t1[i] j M:; ; *(pstr + j) P: int cnt = 0 ; char *p = ss ; while(*p) { if(*p == c) cnt++ ; p++ ;}23、B: && 0 s[j] M: <= 1.0P: int c[3][3] ; int i, j ; for(i = 0 ; i < 3 ; i++) for(j = 0 ; j < 3 ; j++) { c[i][j] = a[j][i] ;b[i][j] = a[i][j] + c[i][j] ; }24、B: s[i] …9‟*t=n;M: t = *x ; *x = y ; return(t) ;P: int i ; *n = 0 ; for(i = 7 ; i < 1000 ; i++) if(((i % 7) == 0 || (i % 11) == 0) && (i % 77) != 0) a[(*n)++] = i ;25、B: n-1 s[k] c M:t=0 t=t/10P: char *p = tt ; int i ; for(i = 0 ; i < 26 ; i++) pp[i] = 0 ; while(*p) { if(*p >= 'a' && *p <= 'z') pp[*p - 'a'] += 1 ; p++ ; }26、B: t=i; i 0 M:(fabs(t)) s/n P: strncpy(b, a, n) ; b[n] = 0 ; strcat(b, a + n + 1) ;27、B: 0 0 c M:double/= P: int i,j,t; float s=0; for(i=1;i<=n;i++) { t+=j;s=s+1./t; } return s;28、B:i++ m m M:) ; P: float x0, x1=0.0; do{ x0=x1; x1=cos(x0); } while(fabs(x0-x1)>0.000001); return x1;29、B: N N-1 0 M: s=s+(n+1.)/n; return t; P: int f0 = 0, f1 = 1, f ; do { f = f0 + f1 ; f0 = f1 ; f1 = f ; } while(f < t) ; return f ;30、B: 0 j-- j M: double ; P: double s = 0.0 ; int i ; for(i = 1 ; i <= m ; i++) s += log(1.0 * i) ; s = sqrt(s) ; return s ;31、B: [N] t[i][j] t[j][i] M: ((m)/(n)) return (value);P: int j=0; char *p = a ; while(*p == '*') p++ ; while(*p) a[j++] = *p++; a[j]=0 ;32、B: t[ ][N]i=0;i<n; s M: fun(int a[],int m) ifP: char *q=a; int j=0; while(*q && q<p) { if(*q != '*') a[j++] = *q ;q++ ; } while(*p) a[j++]=*p++; a[j]=0;33、B: sum=0; t[i][i] 1M:double r; > P: int j=0; char *q=a; while(*q && q < h) a[j++]= *q++ ;while(*h&&*p &&h < p) { if(*h != '*') a[j++] = *h ; h++; } while(*p) a[j++] = *p++ ; a[j] = 0 ;34、B: 1 j++ j M:t=b; return (b); P: int j =0 ; char *p=a; while(*p) {if(*p != '*') a[j++]=*p ; p++ ; } a[j]=0;35、B: a[i]%2 a[j] j M:int n n==1P: char *p=a ; int j=0; while(*p) p++; p--; while(*p == '*') p--; p++; while(j<n && *p) { p++ ; j++; } *p = 0 ;36、B: a[i] a[j] a[j]M:分号去掉case 1;分号改冒号P: int i ; for(i =0 ; i < N ; i++) a->ave += a->s[i] ; a->ave /= N ;37、B: *a 2 i+1M:sum=0.0; if((i+1)%5==0) P: int i ; double ave = 0.0 ; *n = 0 ; for(i = 0 ; i < N ; i++) ave = ave + a[i].s ; ave /= N ;for(i = 0 ; i < N ; i++) if(a[i].s < ave) { b[*n]=a[i] ; (*n)++; } return ave ;38、B: 1 i a[p+i] M:k <P: int i, max = a[0].s, n=0; for(i = 1; i < N; i++) if(max < a[i].s) max = a[i].s ;for(i = 0; i < N; i++) if(max==a[i].s) b[n++] = a[i] ; return n;39、B: n/2 i a[n-1-i] M:*P→*p …o‟→…0‟P: STREC c ; int i ; c.num[0] = '\0' ;c.s = -1 ;for(i = 0 ; i < N ; i++) if(strcmp(a[i].num, b)==0) { strcpy(c.num, a[i].num);c.s=a[i].s;break ; } return c ;40、B: char ch<='9' …0‟M:*p ……(空格字符)P: STREC *p=h->next; double av=0.0; int n = 0 ;while(p!=NULL) {av+= p->s ; p=p->next; n++; } return (av / n) ;41、B: && 'A' ch M: int *a a[j]=a[j-1]; P: int s = 0, i ; for(i = 2 ; i < n ; i++) if(n % i == 0) s +=i ; return s ;42、B: 1 -1 t M: for(i=1; i<=3; i++) k>=0 && k<=6(K变小写)P: double s=1 ; long t=1; int i; for(i=1; i<=n; i++) { t=t*i; s+=1./t; } return s;43、B: x n fabs(t) M: <= %P: int n=1; double sn=1, xn=1; while(fabs(xn)>=0.000001) { xn=xn*x*(0.5-n+1)/n; n+=1;sn+=xn; } return(sn);44、B: 1 1 i M:k=i; c=k%10; P: int i; double avg=0.0, sum=0.0, abs=0.0, fc; for(i=0;i<10;i++) sum+=x[i]; avg=sum/10; for (i=0;i<10;i++) abs+=(x[i]-avg)*(x[i]-avg); fc=sqrt(abs/10) ; return fc;45、B: x n t M: d=1 d=d/10; P: int i ; double avg=0.0,sum=0.0;for(i=0;i<8;i++){avg=(x[i]+x[i+1])/2;sum+=sqrt(avg);}return sum;46、B: j=2 i j M: sum=0;j=0; = =P: int i; double sum=0.0; if (n>1 && n<=100) { for(i=1; i<=n; i++) sum+=1.0/(2*i-1)-1.0/(2*i); } return sum;47、B: n%10 break break M: t==0 *zeroP: double s=0, t=1; int i ; for(i=1; i<=n; i++) {t *= i; s+= 1./t;} return s;48、B: a[i] a[i] 0 M:y=1; d=a-i;P: int i; double sum=0.0; for(i=1; i<=n; i++) if(i%5 == 0 || i%9 == 0) sum+=1.0/i; return sum;49、B: i t++ count M:int return 1;P: int i,j=0; double s=0; for (i=3; i<=n; i++) { for (j=2; j<i; j++)if (i%j == 0) break; if (j == i) s=s+sqrt(i); } return s;50、B: b a b M:c=c+32; c=c+5; P: int i; double fac=1.0; double sum=1.0;for(i=2;i<=n;i++) { fac+=sqrt(i); sum+=fac; } return sum;51、B: 0 x t++ M:int i,sl; t[i] = s[sl-i-1];P: *c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10);52、B: 999 t/10 x M:long *t s>0P: STREC tmp; int i,j; for(i = 0; i < N; i++)for(j = i+1; j < N; j++) if(a[i].s < a[j].s) {tmp = a[i]; a[i] = a[j]; a[j] = tmp; }53、B: 1 s i*10 M: xx[][M] %d P: *c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);54、B: 0 x*10 n/10 M:*t != P: char *p=p1; while(*p)p++; while(*p2)*p++=*p2++; *p=0;55、B: 10 0 x M: (n == 0) 少分号P: while(*p) x = x*10-48+(*p++);56、B: 0 n (t*t) M:; ; if P: double s=1,t=1./3; int n=1;while(t>=eps){ s+=t; n++; t=t*n/(2.0*n+1); } return (s*2.0);57、B: 1 2*i (-1) M:; = =P: int i ; *max=a[0];*d = 0 ; for(i= 1; i < n; i++) if(*max < a[i]) {*max=a[i]; *d = i ; }58、B: 3.0 > 2*i+1 M: double doubleP: int i, j, max=a[0][0]; for(i=0; i<2; i++) for(j=0; j<M; j++) if(max<a[i][j]) max=a[i][j]; return max;59、B: 0 i++ 2.0*i M:(char *s, char *t) t[2*d] = '\0';P: int i, j = 0 ; for(i = 1 ; i < strlen(s) ; i += 2) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ;60、B: s[i] k 0 M: *w ifP: int i, j = 0 ; for(i = 0 ; i < strlen(s); i++) if(s[i] % 2==0) t[j++] = s[i] ; t[j] = 0 ;61、B:j k p M:< ifP: int i, j = 0 ; for(i = 0 ; i < strlen(s) ; i++) if(!((i % 2) ==0 && (s[i] % 2))) t[j++] = s[i] ;t[j] = 0 ;62、B: 0 x[i]/N j++ M:double ; ; P: int i, min = a[0].s, j = 0; for(i = 1 ; i < N ; i++)if(min > a[i].s) { j = i ; min = a[i].s ; } *s = a[j] ;63、B: *av i x[j] M:float <=n P: int i, j; for(i = 0 ; i < N ; i++) for(j= i ; j< N ; j++) a[i][j] *= m ;64、B:s/N j++ -1 M:#include *pP: int i, n=0; double sum=0; for ( i =0; i<N; i++ ) { sum+=w[0][i]+w[N-1][i]; n+=2; }for(i =1; i<N-1; i++) { sum +=w[i][0]+w[i][N-1]; n+=2; } return sum/n; 65、B: x[i]/N j++ i++M:num[k]=0; *sP: int i,sum=0; for(i=0;i<N;i++) sum+=a[0][i]+a[M-1][i]; for(i=1;i<M-1;i++) sum+=a[i][0]+a[i][N-1]; return sum;66、B: '0' s++ ctod(a)+ctod(b) M:*a *b *a *bP: long w ; w = h * 100 + 0.5 ; return (float) w / 100;67、B: N break n M:sum=0; &a[i][j]P: int i,j;int arr[3][3];for(i=0;i<3;i++) for(j=0;j<3;j++) arr[i][j]=array[i][j];for(i=0;i<3;i++) for(j=0;j<3;j++) array[i][j]=arr[j][i];68、B: a[0][i] < x,y M:int *x,int *y t=*x;*x=*y;*y=t;P: for(j = 2 ; j <= (i/2) ; j++) if(i % j == 0) break; if(j > (i/2)) aa[k++] = i;69、B: [N] I i+1 M:m%k aa[ i-1 ] P: if(strlen(a[i]) > maxlen) { maxlen = strlen(a[i]) ;k= i ; }70、B: 0 || 1 M:t = t-1.0/i; return t; P: char *p = str ; int i = 0 ;while(*p) { if(*p != ' ') str[i++] = *p ; p++ ; } str[i] = 0 ;71、B: k N a[k][i] M:strlen( t )-1 > P: int i; for(i=1;i<strlen(ss);i+=2) if(ss[i]<='z'&&ss[i]>='a') ss[i]-=32;72、B: k N-1 temp M:int a[][M] (k+1)*(j+1) P: *c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);73、B: j 0 i++ M:i <= m y -= 1.0/(i * i) ;P: float av=0.0 ; int i, j=0 ; for(i=0; i<m; i++) av += score[i] ; av /= m;for(i=0; i<m; i++) if(av>score[i]) below[j++]=score[i]; return j;74、B: t,s s[i] 0 M:= = > = P: int i; *n=0; for(i=1; i <= x; i++) if((x % i== 0) && (i % 2)) pp[(*n)++]=i;75、B: s -- return 0 M:double b=c P: for(i = 2 ; i < t; i++) if(t % i==0) break; if(i==t) { xx[j-1] = i; j++; } t++;76、B: n++ 0 s++ M:t += s[k] ave P: int i, pos = 0, max = *s ; for(i = 1 ; i < t ; i++) {if(max < *(s + i)) { max = *(s + i) ; pos = i ; } } *k = pos ;77、B: *s s++ n M:c=0; >= P: float p,a=1,b=1,c=1; int i; for(i=1;i<=m;i++)a=a*i;for(i=1;i<=n;i++) b=b*i; for(i=1;i<=m-n;i++) c=c*i; p=a/(b*c); return p;78、B: 48 s++ sum M: = = = = }P: double sum=0.0; int i; for(i=21; i<=n; i++) if((i%3==0)&&(i%7==0))sum+=i; return sqrt(sum) ;79、B: *s 1 k[n] M:double ; P: double s = 0.0 ; int i ; for(i = 1 ; i <= n ; i++) s = s + 1.0 / (i * (i + 1)) ; return s ;80、B: i ps[j] tp M:double ; P: double s=1.0,t=1.0; int i; for(i=1;i<=n;i++){ t*=x/i; s+=t; } return s;81、B: N i -1 M:a2=k/10; return i; P: char *p = a ; while(*p) p++ ; p-- ; while(*p == '*') p-- ; p++ ; *p = 0 ;82、B: N k ss[i] M: k=0 || P: if(a[i] != '*') a[k++]=a[i]; i++;83、B: N substr 0 M: int y, int z return j;P: char *p=a ; int j=0,len=0; while(*p) {p++; len++;} while(j<len-h-e) { a[j]=a[h+j]; j++; } a[j]=0;84、B: [M] N 0 M: t=1; 2*s P: for(; a[j] !=0 ; j++) a[i++]=a[j]; a[i] = 0;85、B: a score[i] M:s[j++]=s[i]; s[j]='\0'; P: while(*p) *q++=*p++;86、B: b->sno b->name &t M:double x0 (x1-x0) P: double t=0 ; int i ; *n = 0 ; for(i = 0 ; i < N ; i++)t = t + a[i].s ; t = t / N ; for(i = 0 ; i < N ; i++) if(a[i].s > t) b[(*n)++] = a[i] ; return t ;87、B: struct student a.score[i] M:P改小写a[i]=a[i+1]; P: int i,n=0,min=a[0].s;for(i=1;i<N;i++) if(min>a[i].s) min=a[i].s; for(i=0;i<N;i++) if(a[i].s==min) b[n++]=a[i];return n;88、B: struct student * a->score[i] a M:char * sp P: *c =(b%10)*1000+(a/10)*100+(b/10)*10+a%10;89、B: struct student t; n-1 a[i].name,a[j].name M: ; whileP: int i,j = 0 ; for(i = 0 ; i < N ; i++) if(a[i].s >= l && a[i].s <= h) b[j++] = a[i] ; return j ;90、B: fp== fp M:n=strlen( aa ); ch=aa[i]; P:double max=h->s; STREC *p;p=h->next;while(p) { if(p->s>max ) max=p->s; p=p->next; } return max;91、B: double f1 f2 M: p=h->next; p=p->next;P: int i=0,j=strlen(str)-1; while(str[i++]==str[j--]);if(i>=j) return 1;return 0;92、B: h->next p->next >= M:p=h->next; p=p->nextP: int i,j; *n=0; for(i=0;i<mm;i++) for(j=0;j<nn;j++) b[(*n)++]=s[i][j];93、B: NODE next r M:|| t[j]=0;P: for(i = 0 ; i < nn ; i++) for(j = 0 ; j < mm ; j++) { b[np] = s[j][i] ; np = i * mm + j + 1; }94、B: next 0 r M:r=t; *r== 0 P: for(i = 0 ; i < M ; i++) strcat(b, a[i]) ;95、B: p->next q p->next M:while(*s) s++P: int i, j = 0, b[N] ; for(i = p + 1 ; i < n ; i++) b[j++] = w[i] ;for(i = 0 ; i <= p ; i++) b[j++] = w[i] ; for(i = 0 ; i < n ; i++) w[i]= b[i] ;96、B: double f1 f2M:char *fun ss++; tt++;P: int i; for(i = 0 ; i < m ; i++) fun1(w);97、B: h->next p->next >= M:p=h->next; p=p->nextP: int i,j; *n=0; for(i=0;i<mm;i++) for(j=0;j<nn;j++) b[(*n)++]=s[i][j];98、B: FILE * fclose(fp) fp M:; t[k]=b[j];P: int i, j = 1, k = a[0] ; for(i = 1 ; i < n ; i++) if(k != a[i]) { a[j++]=a[i] ; k = a[i] ; } a[j] = 0 ; return j ;99、B: "rb" > fwrite M:p=s; ; P: int i, j ; for(i = 0 ; i < M ; i++) b[i] = 0 ; for(i = 0 ; i < N ; i++) { j = a[i] / 10 ;if(j > 10) b[M - 1]++ ; else b[j]++ ; }100、B: filename fp fp M:NODE * return h P: int k = 1 ; while(*s) { if(*s == ' ') k++ ; s++ ; } return k ;。
计算机二级C语言上机南开100题
计算机二级C语言上机南开100题1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
国家计算机等级考试二级c语言-南开100套题(C语言)
1 第一套给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S rπ=2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>double fun( double r){return 3.14159*【1】/2.0;}void main(){double x;printf("Enter x: ");scanf("%lf",【2】);printf("s=%lf\n",fun(【3】));}【参考答案】(1)r*r (2)&x (3)x 【考点分析】本题考查:圆面积计算公式Sπ=*r*r;scanf( )函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。
【解题思路】填空1:计算圆的面积,公式为:s rπ=*r。
填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x。
填空3:函数的实际参数是圆的半径x。
下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n为5时,函数值应为10.407143。
f(x)函数定义如下:f(x)=(1)(2)0002(1)(2)0x x xx xx x x⎧+/->⎪==⎨⎪-/-<⎩或请改正程序中的错误,使它能得出正确的结果。
国家计算机二级C语言上机南开百题答案全文库
2 程序修改
给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/
q=p+i;
/**found**/
第一处 t[j]=s[i];j++;
第二处 for(i=0;i<k;i++)
t[j+i]=p[i];
第三处 t[j+k]=0;
2. 程序修改
给定程序MODI1.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。
ss[i]-=32;
}
}
第五套
1. 程序填空
给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如:当形参n的值为10 的时,函数返回:9.6125588。
第一处 s=0;
第二处 for(i=1;i<=n;i++)
第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t);
{
tot +=a[0][i];
tot +=a[M-1][i];
}
for(i=1;i<M-1;i++){
tot +=a[i][0];
tot +=a[i][N-1];
}
return tot;
南开二级C语言上机100题
n=fun(w,n,x);
if (n==-1) printf("***Nor be found!***nn");
else
{printf("The data after deleted:n");
for (i=0,i<n;i++) printf("%5d",w[i]);printf("nn");
{ while(*s)
{ if (*s>='A' && *s<='Z')
***********************************
a++; ————(*a)++;
if (*s>='a' && *s<='z')
************************************
b++; ————(*b)++;
#include <stdio.h>
#include <string.h>
int fun (int score[],int m, int below[])
{
——————int i,k=0;float aver=0;
for(i=0;i<m;i++)
aver+=(score[i]);
aver/=m;
for (i=0;i<m;i++)
printf("The string b:"); puts (b);
南开大学二级C语言答案电子档
2010年二级C语言南开100题(全)1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<100;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
二级C语言南开100题编程题与答案.doc
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char *tt, int pp[]){int i;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[12]++;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: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
计算机二级c语言上机(南开大学)100题
计算机二级C语言上机(南开大学)100题程序填空题1 补充fun函数,fun函数的功能是求10的阶乘。
n>1 n-1 n==12 在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出数列是一种整数数列,其中每数等于前面两数之和n==o n==1 fun(n-1)+fun(n-2)3 补充函数fun(char*s),该函数的功能是把字符串中的内容逆置s+i<s+n-1-i*(s+i)=(s+n-1-i) *(s+n-1-i)=t4 补充函数fun,他的功能是计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和i<=ni%3==0||i%7==0 1.0/i5 功能是求1/2的圆面积,函数通过形参得到圆的半径,函数返回1/2的圆面积r r*r &x6 功能是计算并输出下列级数的前N项合Sn,直到Sn大于q为止,q 的值通过形参传入<= n++return s7 函数fun的功能是统计长整数n的各个位上出现数字1.2.3的次数,并通过外部(全局)变量c1.c2.c3返回主函数n%10 break break8 补充main函数,功能是从键盘输入一组整数,使用条件表达式找出最大的整数,当输入的整数为0时结束&num[i]max<num[i]? num[i]!=09 给定程序的功能是分别统计字符串中大写字母和小写字母的个数(*a)++ (*b)++ upper,lower10 补充main函数,功能是从键盘输入3个整数,然后找出最大的数并输出。
max=a max=b max=c11 函数fun的功能是把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动1 s[k] c12 补充fun函数,功能是字符串tt中的大写字母都改为对应的小写字母,其他的字符不变。
tt[i]<='Z'tt[i]+=32 tt13 补充fun函数,功能是判断一个数是否为素数。
南开100题
计算机二级C语言上机南开100题--11: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n 返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
二级C语言南开100题(全)
2010年二级C语言南开100题(全)1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
2011 年 C 语言南开 100 题
float x1=0.0,x0; do {
x0=x1; x1=cos(x0); } while(fabs(x0-x1)>1e-6); return x1; }
11: 第 11 题 下列程序定义了 n×n 的二维数组,并在主函数中自动赋值。请编 写函数 fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部 置成 0。 答案:
1
2011 年 C 语言南开 100 题
for(i=0;i<=x;i++) if(i%2!=0) { t[j]=I; j++; } for(i=0;i<j;i++) if(x%t[i]==0) { pp[k]=t[i]; k++; } *n=k; }
4: 第 4 题 请编写一个函数 void fun(char *tt,int pp[]),统计在 tt 字符中"a" 到"z"26 各字母各自出现的次数,并依次放在 pp 所指的数组中。 答案:
8: 第 8 题 编写函数 fun,功能是:根据以下攻势计算 s,计算结果作为函数值返 回;n 通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n) 答案:
4
float fun (int n) { int i; float s=1.0, t=1.0; for(i=2;i<=n;i++) { t=t+i; s=s+1/t; } return s; }
15: 第 15 题 请编写一个函数 unsigned fun(unsigned w),w 使一个大于 10 的 无符号整数,若 w 使 n(n≥2)位的整数,则函数求出 w 后 n-1 位的数作为函数 值返回。 答案:
unsigned fun(unsigned w) { unsigned t,s=0,s1=1,p=0; t=w; while(t>10) { if(t/10) p=t%10; s=s+p*s1; s1=s1*10; t=t/10; } return s; }
8
2011 年 C 语言南开 100 题
17: 第 17 题 请编写一个函数 fun(char *s),该函数的功能使把字符串中的内 容拟置。 答案:
void fun(char *s) { char ch; int I,m,n; i=0; m=n=strlen(s)-1; while(i<(n+1)/2) { ch=s[i]; s[i]=s[m]; s[m]=ch; i++; m--; } }
void fun(int tt[M][N], int pp[N]) { int I,j,min; for(j=0;j<N;j++) { min=tt[0][j]; for(i=0;i<M;i++) { if (tt[i][j]<min) min=tt[i][j]; } pp[j]=min; } }
14: 第 14 题 请别写函数 fun,函数的功能使求出二维数组周边元素之和,作为 函数值返回。二维数组中的值在主函数中赋予。 答案:
{ s+=w[i][0]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][N-1]; k++; } return s/=k; }
2011 年 C 语言南开 100 题
13: 第 13 题 请编写一个函数 void fun(int tt[m][n],int pp[n]),tt 指向一 个 m 行 n 列的二维函数组,求出二维函数组每列中最小元素,并依次放入 pp 所 指定一维数组中。二维数组中的数已在主函数中赋予。 答案:
2011 年 C 语言南开 100 题
9: 第 9 题 编写一个函数 fun,它的功能是:根据以下公式求 p 的值,结果由函 数值带回。M 与 n 为两个正整数,且要求 m>n。 p=m!/n!(m-n)! 答案:
float fun(int m, int n) { float p,t=1.0; int I; for (i=1;i<=m;i++) t=t*I; p=t; for(t=1.0,i=1;i<=n;i++) t=t*I; p=p/t; for(t=1.0,i=1;i<=m-n;i++) t=t*I; p=p/t; return p; }
void fun(char *tt, int pp[]) { int i; 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[12]++;break; case ‘o’: pp[14]++;break; case ‘p’: pp[15]++;break;
3
2011 年 C 语言南开 100 题
} } }
6: 第 6 题 请编写一个函数 void fun(char a[],char[],int n),其功能是:删 除以各字符串中指定下标的字符。其中,a 指向原字符串,删除后的字符串存放 在 b 所指的数组中,n 中存放指定的下标。 答案:
void fun(char a[],char b[], int n) { int I,j=0; for (i=0;i<LEN;i++) if (i!=n) { b[j]=a[i]; j++; } b[j]=‘\0’; }
3: 第 3 题 请编写函数 void fun(int x,int pp[],int *n),它的功能是:求出 能整除 x 且不是偶数的各整数,并按从小到大的顺序放在 pp 所指的数组中,这 些除数的个数通过形参 n 返回。 答案:
void fun(int x, int pp[ ], int *n) { int i=1,j=0;k=0,*t=pp;
2011 年 C 语言南开 100 题
2011 年二级 C 语言南开 100 题
1: 第 1 题 m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是: 将低于平均分的人作为函数值返回,将低于平均分的分数放在 below 所指定的 函数中。 答案:
int fun(int score[],int m,int below[]) { int i,k=0,aver=0; for(i=0;i<m;i++) aver+=score[i]; aver/=m; for(i=0;i<m;i++) if(score[i]<aver) { below[k]=score[i]; k++; } return k; }
int fun(int a[M][N]) { int I,j,s=0; for(j=0;j<N;j++) { s+=a[0][j]; s+=a[M-1][j];
7
} for(i=1;i<=M-2;i++) { s+=a[i][0]; s+=a[i][N-1]; } return s; }
2011 年 C 语言南开 100 题
7: 第 7 题 请编写一个函数 int fun(int *s,int t,int *k),用来求除数组的最 大元素在数组中的下标并存放在 k 所指的储存单元中。 答案:
void fun (int *s, int t, int *k) { int I, max; max=s[0]; for(i=0;i<t;i++) if (s[i]>max) { max=s[i]; *k=I; } }
double fun(int w[][N]) { int I,j,k=0; double s=0.0; for(j=0;j<N;j++) { s+=w[0][j]; k++; } for(j=0;j<N;j++) { s+=w[N-1][j]; k++; } for(i=1;i<=N-2;i++)
6
10: 第 10 题 编写函数 fun,它的功能是:利用以下的简单迭代方法求方程 cos(x)-x=0 的一个实根。 迭代步骤如下:(1)取 x1 初值为 0.0; (2)x0=x1,把 x1 的值赋各 x0; (3)x1=cos(x0),求出一个新的 x1; (4)若 x0-x1 的绝对值小于 0.000001,则执行步骤(5),否则执行步骤(2); (5)所求 x1 就是方程 cos(x)-x=0 的一个实根,作为函数值返回。 程序将输出 root=0.739085。 答案: