收藏 分销(赏)

计算机等级考试上机练习系统部分程序调试.doc

上传人:xrp****65 文档编号:7022808 上传时间:2024-12-25 格式:DOC 页数:6 大小:62.50KB 下载积分:10 金币
下载 相关 举报
计算机等级考试上机练习系统部分程序调试.doc_第1页
第1页 / 共6页
计算机等级考试上机练习系统部分程序调试.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
计算机等级考试上机练习系统部分程序调试题答案   1、该程序功能:输入1个字符串,输出其中所出现过的大写英文字母。如运行时输入字符串"FONTNAME and FILENAME",应输出"F O N T A M E I L"。 #include <stdio.h> void main() { char x[80],y[26]; int i,j,ny=0; gets(x); for(i=0;x[i]!='\0';i++) if(x[i]>='A'&&x[i]<='Z') { for(j=0;j<ny;j++) /***** 1 *****/ if(y[i]==x[j]) continue; if(y[j]==x[i]) break; if(j==ny) { y[ny]=x[i]; ny++; } } /***** 2 *****/ for(i=0;i<26;i++) for(i=0;i<ny;i++) printf("%c ",y[i]); printf("\n"); }   2、该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。 #include <stdio.h> #include <math.h> void main() { float x,eps,s=1,t=1,i=1; scanf("%f%f",&x,&eps); do { /***** 1 *****/ t=-t*x/++i; t=-t*x/i++; s+=t; /***** 2 *****/ } while(fabs(t)>=eps) while(fabs(t)>=eps); printf("%f\n",s); }   3、该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值: 3+33+333+3333+33333+333333 #include <stdio.h> void main() { int i,a,n; long t=0; /********* 1 *******/ s=0; long s=0; scanf("%d%d",&a,&n); for(i=1;i<=n;i++) { /******* 2 ******/ t=t*10+i; t=t*10+1; s=s+t; } s=s*a; printf("%ld\n",s); }   4、该程序功能:输出6~1000之间的完数(1个数的因子和等于其自身的数:6=1+2+3、 28=1+2+4+7+14,则6、28都是完数)。 #include <stdio.h> void main() { int i,j,s; for(i=6;i<=1000;i++) { _____1_____ s=1; for(j=2;____2_____;j++) if(i%j==0) s+=j; j<=i/2 if(s==i) printf("%d\n",s); } }   5、 该程序功能:数列的第1、2项均为1,此后各项值均为该项前二项之和。计算数列第30项的值。 #include <stdio.h> _______1______ long f(int n); void main() { printf("%ld\n",f(30)); } long f(int n) { if( ______2______ ) n==1 || n==2 return 1; else return f(n-1)+f(n-2); }   6、该程序功能:输入三个整数,按由小到大的顺序输出这三个数。 #include <stdio.h> void swap(______1______) int *pa,int *pb { /*交换两个数的位置*/ int temp; temp = *pa; *pa = *pb; *pb = temp; } void main() { int a,b,c,temp; scanf("%d%d%d",&a,&b,&c); if(a>b) swap(&a,&b); if(b>c) swap(&b,&c); if(______2______) a>b swap(&a,&b); printf("%d,%d,%d",a,b,c); }   7、该程序功能:将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。 #include <stdio.h> void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= ______1______; m%2 m=m/2; } for(;j!=0;j--) printf("%d", ______2______ ); bin[j-1] } void main() { int n; scanf("%d",&n); Dec2Bin(n); }   8、该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。 #include <stdio.h> #include <math.h> #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ max=f(1); for(x=2;x<=10;x++) ______2______ if((f(x))>max) max=f(x) ; printf("%f\n",max); }   9、该程序功能:分别统计字符串中所有英文字母中的各元音字母个数。 #include <stdio.h> #include <ctype.h> void main() { char a[80]; int n[5]={0},i; gets(a); for(i=0; a[i]!='\0'; i++) /***** 1 *****/ switch(toupper(a[i])) { switch(tolower(a[i])) case 'a': n[0]++; break; case 'e': n[1]++; break; case 'i': n[2]++; break; case 'o': n[3]++; break; /***** 2 *****/ case 'U': n[4]++; case 'u': n[4]++; } for(i=0;i<5;i++) printf("%d\n",n[i]); }   10、该程序功能:调用函数f计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。 #include <stdio.h> float f(float,float*,int); void main() { float b[5]={1.1,2.2,3.3,4.4,5.5}; printf("%f\n",f(1.7,b,5)); } float f( _______1________ ) float f( float x,float *a,int n ) { float y=a[0],t=1; int i; for(i=1;i<n;i++) { t=t*x; y=y+a[i]*t; } _____2_____ return y; }   11、该程序功能:将一个char型数的高4位和低4位分离,分别输出,如22(二进制:00010110)输出为1和6。 #include <stdio.h> void main() { char a,b1,b2,c; scanf("%d",&a); /****** 1 ******/ b1=a<<4; /*b1存放高4位*/ b1=a>>4; c=~(~0<<4); /****** 2 ******/ b2=a|c; /*b2存放低4位*/ b2=a&c; printf("%d,%d",b1,b2); }   12、程序功能:输入n以及小于n个字符的字符串,将字符串中所有小写字母改为相应的大写字母后,输出该字符串。 #include <stdio.h> #include <string.h> #include <stdlib.h> void main() { int n,i; /***** 1 *****/ char str; char *str; scanf("%d\n",&n); str=(char*)malloc(n); gets(str); /***** 2 *****/ for(i=1;i<strlen(str);i++) for(i=0;i<strlen(str);i++) if(str[i]>='a'&& str[i]<='z') str[i]=str[i]-('a'-'A'); puts(str); }   13、该程序功能:输入n,再输入n个点的平面坐标,然后输出那些距离坐标原点不超过5的点的坐标值。 #include <stdio.h> #include <math.h> #include <stdlib.h> void main() { int i,n; /***** 1 *****/ struct axy { float x,y; } a; struct axy { float x,y; } *a; scanf("%d",&n); a=(float*) malloc(n*2*sizeof(float)); for(i=0;i<n;i++) /***** 2 *****/ scanf("%f%f",a[i].x,a[i].y); scanf("%f%f",&a[i].x, &a[i].y); for(i=0;i<n;i++) if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<=5) printf("%f,%f\n",a[i].x,a[i].y); }   14、该程序功能:求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include <stdio.h> #include <math.h> void main() { int n,s=0; scanf("%d",&n); ______ 1 ______ n=fabs(n); while(n!=0) { ______ 2 ______ s=s+n%10; n=n/10; } printf("%d\n",s); }   15、该程序功能:输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。 #include <stdio.h> void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ){ n k++; _____2_____; n=n/10 } printf("%d\n",k); }   16、程序功能:运行时输入n,输出n的所有质数因子(如n=13860,则输出2、2、3、3、5、7、11)。 #include <stdio.h> void main() { int n,i; scanf("%d",&n); /****** 1 ******/ i=1; i=2; while(n>1) if(n%i==0) { printf("%d\t",i); n/=i; } else /******** 2 *******/ n--; i++; }   17、该程序功能:输入的一个小写字母,将字母循环后移5个位置后输出, 如’a’变成’f’, ‘w’变成’b’。 #include <stdio.h> void main() { char c; c=getchar(); if(______1______) if(c>='a'&&c<='u') c=c+5; else if (c>='v' && c<='z') ______2______ c=c+5-26; putchar(c); }   18、该程序功能:调用函数f,从字符串中删除所有的数字字符。 #include <stdio.h> #include <string.h> #include <ctype.h> void f(char *s) { int i=0; while(s[i]!='\0') if(isdigit(s[i])) ____1____(s+i,s+i+1); strcpy ___2___ i++; else } void main() { char str[80]; gets(str); f(str); puts(str); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服