1.写一个程序,输入一个班级学生的成绩,求全班的平均成绩。 #include
{float score,average=0; int n=0;
scanf(“%f”,&score); while(score>=0) {average+=score; n++;
scanf(“%f”,&score); }
if(n!=0) average=average/n; printf(“%6.2f”,average); }
2.写程序计算s=1+2+3+···+100。 #include
for(i=1;i<=100;i++) s=s+I;
printf(“s=%d”,s); }
3.用for循环语句求n!。 #include
scanf(“%d”,&n); fac=1;
for(i=1;i<=n;i++)
fac=fac*i;
printf(“%d!=%ld”,n,fac);
}
4.用for循环语句编程,将输入的多个正数累加,当输入的数据为负数时,则程序结束。 void main()
{long sum=0;int x; for(;;)
{scanf(“%d”,&x); if(x>=0) sum+=x; else break; }
printf(“sum=ld”,sum); }
5.显示输入的字符,如果按的是Esc键,则退出循环,如果按的是Enter键,则不做任何处
理,继续输入下一个字符。 #include”conio.h” void main() {char ch;l for(;;) {ch=getch(); if(ch==27) break; if(ch==13) continue; putch(ch); } getch(); }
6.编写多个学生的成绩评定等级的程序。 void main()
{int i,score;
scanf(“%d”,&score); while(score>=0) {switch(score>=0) {case 10:
case 9:printf(“%d:A\\n”,score);break; case 8:
case 7:printf(“%d:B\\n”,score);break; case 6:printf(“%d:C\\n”,score);break; default:printf(“%d:D\\n”,score);break; }
scanf(“%d”,&score); } }
7.找出3~1000中的全部素数。 #include
void main()
{ unsigned int i,j,count,flag; count=0;
for(i=3;i<=1000;i++) { flag=0;
for(j=2;j<=sqrt(i);j++) {if(i%j==0) {flag=1;break;} }
if(flag==0)
{printf(“M”,i);count++;
if(count%8==0) printf(“\\n”);
}
} }
8.用公式π/4=1-1/3+1/5-1/7+···,求π的近似值, 直到最后一项的绝对值小于10^-6为止。
#include
{ int f=1;
float pi=0,t=1,v=1; while(fabs(t)>1e-6) { pi=pi+t; v+=2; f=-f; t=f/v;
}
pi*=4;printf(“\\n pi=.8f”,pi);
}
9.电文加密问题。已知电文加密规律为:将字母变成其后面的第四个字母,其它字符保持不变。例如a->e,A->E,W->A。编写一个程序,输入一行字符,要求转换成加密电文输出。 #include
{char ch;
while((ch=getchar())!=’\\n’)
{if((ch>=’a’&&ch<=’z’)||(ch>=’A’&&ch<=’Z’)) {ch+=4;
if((ch>’Z’&&ch<’a’)||(ch>’Z’)) ch-=26;
}
printf(“%c”,ch); }
}
10.输入 n 个整数,求这 n 个数之中的偶数平均值,并输出。 main() {
int n,i,x,sum=0,count=0; printf(\ scanf(\ for(i=0;i printf(\ scanf(\ if(x%2==0){sum+=x;count++;} } printf(\ getch(); } 11.输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母个数和数字字符个数。 #include\main() { char ch; int charcnt=0,numcnt=0; while((ch=getchar())!='*') { if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')charcnt++; if(ch>='0'&&ch<='9')numcnt++; } printf(\ getch(); } 12.从键盘输入一个正整数 n,计算该数的各位数字之和并输出。例如,输入数是5246,则计算5+2+4+6=17并输出。 #include\main() { int n,i,sum=0,count=0; printf(\ scanf(\ while((n/10)!=0) { count++; sum+=n; printf(\ n/=10; } printf(\ getch(); } 13.输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。 #include\main() { char ch; printf(\ while((ch=getchar())!='\\n') { if(ch>='a'&&ch<='z')printf(\ if(ch>='A'&&ch<='Z')printf(\ } getch(); } 14.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元。 main() { float x=200; int n=0; do { x*=(1+0.045); n++; }while(x<500); printf(\ getch(); } 15.输出1~999中能被3整除,而且至少有一位数字是5的所有数字。 main() { int x,y,flag; for(x=1;x<1000;x++) { flag=0; y=x; if(y%3==0) /*余数为0说明该数能够被3整除*/ { while(y!=0) { if(y==5)flag=1; /*依个位、十位、百位顺序判断是否余数为5*/ y/=10; } if(flag==1)printf(\ } } getch(); } 16.求爱因斯坦数学题。有一条长阶,若每步跨2阶,则最后剩1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶每步跨6阶,则最后剩5阶每步跨7阶,最后正好1阶。 main() { int x=0,flag=0;