printf(“请输入 n:\\n”); scanf(“%d”,&n);
printf(“请输入%d个数:\\n”,n); for(i=1;i<=n;i++){ scanf(“%lf”,&x); if(x>0) t++;
else if(x<0) s++; else k++; }
printf(“负数:%d\\t零:%d\\t正数:%d\\n”, s, k, t); }
11.输入10个学生的成绩,输出最低分数。
解:#include
void main() {
int i;
double score,min;
printf(“请输入 10个学生成绩:\\n”); scanf(“%lf”,&score);
min=score; // 给min赋初值 for(i=1;i<10;i++){
}
}
printf(“min=%g\\n”, min);
scanf(“%lf”,&score); if(min>score)
min=score;
或
解:#include
void main() {
int i;
double score,min;
printf(“请输入 10个学生成绩:\\n”); for(i=1;i<=10;i++){
}
printf(“min=%g\\n”, min);
20
scanf(“%lf”,&score); if(i==1)
min=score; min=score; if(min>score)
}
12.青年歌手大奖赛中,10个评委给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分。计算并输出选手张三的得分。(注:如果最高分或最低分有多个相同时,去掉其中一个)
解:#include
void main() {
int i;
double score,min,max,sum,aver;
printf(“请输入 10个评委给张三的评分:\\n”); scanf(“%lf”,&score); min=max=sum=score; for(i=1;i<10;i++){
}
}
aver=(sum-max-min)/8;
printf(“张三得分:%g\\n”, aver);
scanf(“%lf”,&score); if(min>score)
min=score; max=score; if(max 或 解:#include void main() { int i; double score,min,max,sum=0,aver; } printf(“请输入 10个评委给张三的评分:\\n”); for(i=1;i<=10;i++){ } aver=(sum-max-min)/8; printf(“张三得分:%g\\n”, aver); scanf(“%lf”,&score); if(i==1) max=min=score; min=score; max=score; if(min>score) if(max 21 13.用循环语句输出26个大写字母及它们的ASCII码值。 解:#include void main() { char c; for(c=?A?;c<=?Z?;c++) printf(“%c\\t%d\\n”,c,c); } 或 解:#include void main() { char ch='A'; while( ch<='Z'){ printf(\ ch++; } } 14.输出所有的“水仙花数”,水仙花数是指一个三位数,其各位数字的立方和等于其本身,如:153=13+53+33。 解:#include void main() { int x,a,b,c; } printf(“水仙花数:\\n”); for(x=100;x<1000;x++){ } printf(“\\n”); a=x/100; b=x0/10; c=x; if(x==a*a*a+b*b*b+c*c*c) printf(“%d\\t”, x); 11111?????n前40项的和。 23456解:#include void main() { int i; double sum=0,flag=1; for(i=1;i<=40;i++){ 15.求算式1? sum+=flag/i; flag=-1*flag; // 或flag=-flag 22 } } printf(“sum=%g\\n”,sum); 16.输出一张华氏与摄氏温度对照表,将华氏温度从30°~40°F之间的每度转换对应的摄氏温度输出。张华氏转化为摄氏温公式:c=5/9(F-32) 解:#include void main() { double f,c; for(f=30;f<=40;f++){ } } c=5.0/9*(f-32); printf(“%g\\t%g\\n”,f,c); *17.求数列的和。设数列的首项为81,以后各项为前一项的平方根(如81,9,3,1.732,?),求前20项和。 解:#include #include int i; double sum=0,a=81; for(i=1;i<=20;i++){ } } printf(“sum=%g\\n”,sum); sum+=a; a=sqrt(a); // 下一项为前一项的平方根 18.输出一个如下的乘法口诀表。 1×1=1 1×2=2 2×2=4 1×3=3 2×3=6 3×3=9 ??? 1×9=9 2×9=18 3×9=27 ??? 9×9=81 解:#include void main() { int i,j; for(i=1;i<=9;i++){ for(j=1;j<=i;j++) printf(“%d*%d=%d\\t”,j,i,i*j); 23 } } printf(“\\n”); *19.猴子吃桃子。第1天猴子吃掉桃子总数一半多一个,第2天又将剩余的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第十天准备吃的时候只剩下一个桃子。请问第1天开始吃的时候桃子的总数。 //递推公式 x=2*(x+1) 解:#include void main() { int n,x; x=1; //第10天的挑子数 for(n=9; n>=1; n--) { x=2*(x+1); //计算第n天的桃子数 } printf(\第1天吃前挑子总数=%d\\n\ } *20.用循环体编程序,分别输出如下两个图形,如图4.15所示。* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 左图 解:#include int i,j; for(i=1;i<=4;i++) { for(j=1;j<=8-2*i;j++) putchar(' '); for(j=1;j<=2*i-1;j++) printf(\ putchar('\\n'); } } 右图 解:#include void main() { 24 *