《C语言程序设计基础》教材参考答案
do{ i++; 5.有以下程序段 int k=0;
do{
s=s*i; s=s*i; i++; }while(i<=10);
}while(i<=10);
while(k=1) k++;
while循环执行的次数是( )。
A.无限次
B.1次
C.语法错误,不能执行
D.一次也不执行
二.填空题
1.若输入字符串:abcde<回车>,则以下while循环体将执行 次。 while((ch=getchar())==’e’) printf(\*\); 2.以下程序执行后的输出结果是 。 #include
void main() { int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf(\ case 2: printf(\ default: printf(\ } }
3.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include
void main() { int i,j;
for(i=0; ;i++) { j=i*10+6;
if( ) continue; printf(\ } }
4.有以下程序 #include
void main()
36
《C语言程序设计基础》教材参考答案
{ int x=23; do
{ printf(\
}while(!x);
}
该程序执行的结果为 。
5.以下程序的功能是计算1-3+5-7+…-99+101的值,请将程序补充完整。 #include
void main() {
int i,t=1,s=0; for(i=1;i<=101;i+=2) {
s=s+ ; ; }
printf(\ }
*******************************************************************************
习题答案:
一.选择题
1.B
2.B
3.B
4.C
5.A
二.填空题
1.0
2.011122
3.i<10 j%3!=0 4.23
5.s*t t=-t
*******************************************************************************
四.实训指导 实训指导【1】
1. 某选秀节目有十个评委,选手的得分为十个评委评分后的平均分,试编程实现评分功能,
即输入评委给出的10个分数,输出平均分。(要求:分别用三种循环语句完成)
37
《C语言程序设计基础》教材参考答案
(1)用while语句完成 #include
(2)用do-while语句完成 #include
(3)用for语句完成 #include
38
int i=1;
double score,sum=0,ave; { }
ave=sum/10;
printf(\选手最终得分为:%.2lf.\\n\
printf(\请输入第%d位评委分数:\scanf(\sum+=score;
while(i<=10)
i++;
int i=1;
double score,sum=0,ave; {
printf(\请输入第%d位评委分数:\scanf(\sum+=score;
do
i++; }while(i<=10); ave=sum/10;
printf(\选手最终得分为:%.2lf.\\n\
int i;
double score,sum=0,ave; { }
ave=sum/10;
printf(\选手最终得分为:%.2lf.\\n\
printf(\请输入第%d位评委分数:\scanf(\sum+=score;
for(i=1;i<=10;i++)
《C语言程序设计基础》教材参考答案
2. 某黑夜一司机碰伤行人之后落荒而逃,经警方调查,有三个目击者。甲说:车牌号的
前两位相同;乙说:车牌号的后两位加起来等于6;丙说:车牌号是一个四位数并且能被2整除。根据上述线索,编程列出可能的车牌号。 #include
3.输出2000~2050年中所有的闰年,要求每行输出四个年号。
#include
4.(课外完成)完成【引例】中的题目。
#include
#include
double a,b,c,area,s; char ch; while(1)
39
int a1,a2,a3,a4,a; { }
a1=a/1000; a2=a/100; a3=a/10; a4=a;
if(a1==a2&&(a3+a4)==6&&a4%2==0)
printf(\可能的车牌号为:%d.\\n\
for(a=1000;a<10000;a++)
int i=0,year;
printf(\年中所有的闰年为:\\n\{ }
if(year%4==0&&year0!=0||year@0==0)
{ }
printf(\i++; if(i%4==0)
putchar('\\n');
for(year=2000;year<=2050;year++)