t[【?】] = s[d-1-i]; d+i=========或=========i+d /***********SPACE***********/ t[【?】] ='\\0';
2*d=========或=========d*2=========或=========i+d=========或=========d+i } main() {
char s[100], t[100];
printf(\ fun(s, t);
printf(\}
12.功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。 #include
int m,n,k,i=0;
for(m=100;m<=1000;m++) {
/***********SPACE***********/ 【?】; k=0 n=m; do {
/***********SPACE***********/ k=k+【?】 ;
n===或===n-n/10*10===或===n-10*(n/10) n=n/10; }
/***********SPACE***********/ 【?】;
while(n>0)===或===while(n!=0) 或===while(n) if (k==0) {
printf(\
/***********SPACE***********/ if(i==0) 【?】; printf(\ } } }
13. 功能:在歌星大奖赛中,有10个评委为参赛的选手打分,分数1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。 #include
int score,i,max,min,sum;
16
max=-32768; min=32767; sum=0;
for(i=1;i<=10;i++) {
printf(\ /***********SPACE***********/ scanf(\【?】); &score sum+=score;
/***********SPACE***********/
if(【?】) max=score;
score>max===或===max
if(【?】) min=score;
score
printf(\ /***********SPACE***********/
printf(\【?】); (sum-max-min)/8 }
14. 功能:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。 #include
FILE *fp; char str[100]; int i=0;
/***********SPACE***********/
if((fp=fopen(\【?】))==NULL) \ {
printf(\ exit(0); }
printf(\ /***********SPACE***********/ gets(【?】); str或&str[0] while(str[i]!='!') {
/***********SPACE***********/ if(str[i]>='a'&&【?】) str[i]<='z' str[i]=str[i]-32; fputc(str[i],fp); i++;
17
}
/***********SPACE***********/ fclose(【?】); fp fp=fopen(\ fgets(str,strlen(str)+1,fp); printf(\ fclose(fp); }
四、程序改错
1.功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置. #include
int i,a[10],min,k=0;
printf(\ for(i=0;i<10;i++)
/***********FOUND***********/
scanf(\ scanf(\ for(i=0;i<10;i++) printf(\ min=a[0];
/***********FOUND***********/ for(i=3;i<10;i++)
for(i=1;i<10;i++)=========或=========for(i=0;i<10;i++)=========或=========for(i=1;i<=9;i++)=========或=========for(i=0;i<=9;i++) /***********FOUND***********/ if(a[i]>min) if(a[i] min=a[i]; k=i; } /***********FOUND***********/ a[k]=a[i]; a[k]=a[0];或a[k]=a[i-10]; a[0]=min; printf(\ for(i=0;i<10;i++) printf(\ printf(\} 2.功能:求如下表达式: 1 1 1 S = 1 + —— + ——— + ...... + ——————— 1+2 1+2+3 1+2+3+......+n #include 18 { int n; double fun(int n); printf(\ /**********FOUND**********/ print(\scanf(\ printf(\} /**********FOUND**********/ fun(int n) double fun(int n) { int i,j,t; double s; s=0; /**********FOUND**********/ while(i=1;i<=n;i++); for(i=1;i<=n;i++)==或for(i=1;i<=n;++i)==或====for(i=1;i for(j=1;j<=i;j++) t=t+j; /**********FOUND**********/ =s+1/t; s+=1.0/t;========或========s=s+1.0 /(float)t;========或========s= s + 1.0 /t;=========或=========s+=1.0/(float)t;=========或=========s+=1.0/(double)t;=========或=========s= s + 1.0 /(double)t; } return s; } 3.功能:给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。 例如:n=6时,输入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得平均值为40.828335,在平均值以下的实数个数应为3。 #include int j,c=0; /**********FOUND**********/ float j=0; float xa=0;========或========float xa=0.0;========或========double xa=0;========或========double xa=0.0; /**********FOUND**********/ for(j=0;j<=n;j++) for(j=0;j printf(\ /**********FOUND**********/ for(j=0;j<=n;j++) for(j=0;j /**********FOUND**********/ 19 return xa; return c;=========或=========return (c); } main() { double x[]={23.5,45.67,12.1,6.4,58.9,98.4}; printf(\} 4.功能:求1到20的阶乘的和。 #include int n,j; float s=0.0,t=1.0; for(n=1;n<=20;n++) { /**********FOUND**********/ s=1; t=1;=========或=========t=1.0; for(j=1;j<=n;j++) /**********FOUND**********/ t=t*n; t=t*j ;===或===t*=j;或t=j*t; /**********FOUND**********/ s+t=s; s=s+t ;===或===s+=t; 或s=t+s; } /**********FOUND**********/ printf(\ printf(\} main() { fun(); } 5.功能:实现3行3列矩阵的转置,即行列互换。 #include void fun(int a[3][3],int n) { int i,j,t; for(i=0;i /**********FOUND**********/ scanf(\scanf(\或===scanf(\??????多种情况 for(i=0;i for(j=0;j printf(\ printf(\ 20 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2011上C语言考试复习资料(4)在线全文阅读。
相关推荐: