教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

上海市计算机二级考试(C语言)复习资料题目(9)

来源:网络收集 时间:2026-08-26
导读: #1 main( ) #2 { char str[81]; #3 int n1, n2; #4 gets(str); #5 for( i=0; str[i]!=’\\0’; i++) ; #6 { if ( str[i]=’#’) #7 n1++; #8 if str[i]>=0 str[i] #10 printf( “space=%d, digit=%d\\n”, n1, n2 )

#1 main( ) #2 { char str[81]; #3 int n1, n2; #4 gets(str);

#5 for( i=0; str[i]!=’\\0’; i++) ; #6 { if ( str[i]=’#’) #7 n1++;

#8 if str[i]>=0 && str[i]<=9 then #9 n2++; }

#10 printf( “space=%d, digit=%d\\n”, n1, n2 ); #11 }

15. 下面的程序用于将计算n个元素组成的整型数组中去掉一个最大值和一个最小值后求平均值(如果有多个相同的最大值和最小值,只需去掉一个,且要求n>2)。(本题有3个错) #1 #define N 10 #2 main()

#3 { int a[N],i,sum,max,min; #4 float aver;

#5 for (i=0;i

#9 { if (maxa[i]) min=a[i]; #11 sum=sum+a[i]; }

#12 aver=(sum-max-min)/(N-2); #13 printf(\#14 }

16. 由键盘输入长度不超过80的字符串,在按原样输出。(本题有2个错) #1 #include #2 main()

#3 { char str[80]; #4 int i=0; #5 clrscr(); #6 while(1)

#7 { scanf(\

#8 if (str[i++]=='\\n') return; #9 }

#10 str[i]='\\0';

#11 printf(\#12 }

n

17. 以下程序用递归算法求X,要求n>=0,请填空(本题3个错)。 #1 main()

#2 { float xn(float,int); #3 float x,y; int n;

#4 printf(\#5 scanf(\#6 if (x!=0)

#7 { y=xn(x); printf(\#8 else printf(\#9 }

#10 float xn(float x,int n) #11 { float z;

#12 if (n<0) { printf(\#13 if (n!=0) z=1;

#14 else if (n==1) z=x; #15 else z= xn(x,n) ; #16 return z ; #17 }

18. 下列程序中,函数fun的功能是根据以下公式:

?1121231234?1???????????? 23353573579#1 #include #1 #include #3 #include #4 fun( eps)

#5 { double s,t; int n=1; #6 s=0; #7 t=1.0;

#8 while (t

#10 t=t*n/(2*n+1); #11 n++; #12 }

#13 return s; #14 }

#15 main()

#16 { double x;

#17 printf(\#18 printf(\#19 }

19. 函数fun 的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。 #1 #include #2 #include #3 long fun(char p) #4 { int i=0,sign=1; #5 long num=0; #6 if (p[i]=='+') #7 sign=1; #8 else

#9 if (p[i]=='-') #10 sign=-1;

#11 if (p[i]=='+'||p[i]=='-') #12 i=1; #13 else #14 i=0;

#15 while (p[i]!='\\0') #16 { num*=10; #17 num+=p[i]; #18 i++;

#19 }

#20 num=sign*num; #21 return num; #22 }

#23 main()

#24 { char s[6]; #25 long n;

#26 printf(\#27 gets(s); #28 n=fun(s);

#29 printf(\#30 }

20. 函数fun 的功能是:将两个乱序字符串升序合并。 #1 #include #2 #include #3 main()

#4 { int i, j, k, n;

#5 char a[80]= \#6 n = strlen(a);

#7 for (i=0;i

#14 for( k = 0; b[k]; k++)

#15 { for( j = 0; b[k]>a[j] ;j++ ); #16 for(i = n; i >= j; i--) #17 a[i+1]=a[i]; #18 b[k]=a[j]; #19 a[++n] = '\\0'; #20 }

#21 printf(\#22 }

21. 下面程序用于输出数组a中指定第col列的全部元素。 #1 #define N 4

#2 void printcol(int (*p),int row,int col) #3 { int i;

#4 printf(\#5 for (i=0;i

#6 printf(\#7 }

#8 main()

#9 { int a[][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},col; #10 int row=sizeof(a)/sizeof(a[0][0])/N; #11 clrscr(); #12 do

#13 { scanf(\#14 } while (0

#15 printcol(a,row,col); #16 }

22. 以下程序用于求出从键盘输入的字符串的实际长度,字符串中可以包含空格,跳格键等,但回车结束符不计入(本题3个错)。例如:输入 abcd efg 回车,应返回字符串长度8 #1 #include #2 int teststrlen(char s) #3 { char *p=s;

#4 while (p!=’\\0’) p++; #5 return p-s; #6 }

#7 main() #8 { char *s;

#9 scanf(\

#10 printf(\#11 }

23. 下面程序用于统计从键盘输入的一个正整数n(0≤n≤65535)中0的个数,并求出各位数字中的最大者。(本题有3个错) #1 main()

#2 { unsigned n,count,max,t; #3 count=max=0; #4 scanf(\#5 do

#6 { t=n/10;

#7 if (t==0) count=count+1; #8 else

#9 if (max

#11 } while (n>=0);

#12 printf(\#13 }

24. 下面的程序将输出如下的图形,要求顶端的*定位在第21字符位置,请改错(有3个错)。 * *** ***** ******* #1 printstar() #2 { int i,j;

#3 for (i=0;i<4;i++) #4 { for (j=0;j<=20;j++) #5 printf(\

#6 for (j=0;j<2*i+1;j++) #7 printf(\#8 } #9 }

#10 main()

#11 { printstar(); }

25. 程序3.2计算字符串s中最后一次出现子串t的地址,通过函数值返回,在主函数中输

出此地址开始的字符串:若未找到,函数返回NULL(例如字符串s

为‖456712345678abcd‘,当子串为‖567‖时,输出为“5678abcd”:当t为‖789‖时,输出“Not found !”)。(本题有3个错)

#1 #include #2 char *fun (char *t){ #3 char *p , r, *a; #4 a = null; #5 while (*s){ #6 p = s; r = t; #7 while (*r)

#8 if (r == p) {r++; p++;} #9 else break;

#10 if (*r == ‘\\0’) a = s; #11 s++; #12 }

#13 return a; #14 }

#15 void main( ){

#16 char s[100], t[100], *p;

#17 printf(“\\nPlease …… 此处隐藏:2111字,全部文档内容请下载后查看。喜欢就下载吧 ……

上海市计算机二级考试(C语言)复习资料题目(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/614451.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)