信息科学技术学院《C语言程序设计》实验指导书
printf(“x=%d\\ty=%d\\tz=%d\\n”,x,y,z); return 0; } 分析结果 运行结果 3. #include
int main() { int n=0;
while(n<=2) { n++;
printf(\return 0; } 分析结果 运行结果
(二)完成程序
要求:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。
1. 以下程序的功能是计算正整数2345的各位数字平方和,请在_______
上填写正确内容。 #include
int main() n=2345; do
{ sum = sum + ____________; ______________________; } while( n) ; printf(\return 0; }
2. 以下程序的功能是计算S=2+4+8+16+?+128,请在______上填写正确内容。
第 29 页
{ int n,sum= 0 ;
信息科学技术学院《C语言程序设计》实验指导书
#inlcude
int main()
{ int a, s,n ,count ;
a=2 ,s=0 , n=1 ,count=1;
while(count<=7) { _____________;
s = s + n ; _____________;}
printf(“s = %d\\n”,s ); return 0;
}
(三)调试程序
要求:调试运行下列程序是否正确,若有错,写出错在何处?填写正确的运行结果。
1. 以下程序输出100(包括100)以内的数,每行输出10个。
行号 #include
int main() 1 { int k=100; 2 3 4 6
while(k=0)
{ printf( \ }
k--;
if (k==0)printf(\
5
7 return 0; 8 }
错 错误在 5 行 应改为: if (k>0)printf(\ 2.下面程序的功能是计算n!。
行号 #include
int main() { int i,n,s=1;
printf(\ scanf(\
for(i=1;i<=n;i++)
第 30 页
信息科学技术学院《C语言程序设计》实验指导书
6 7 8 9 错 s=s*i;
printf(\ return 0; } 错误在 行 应改为: 调试正确后的运行结果 输入数据: 1 5 9 12 15 输出结果: 3. 以下程序输出1---100的数字 行号 #include
int main()
1 { int i =100; 2 3 5 6 7 8 9
while( 1 ) { } return 0;
错 错误在 行 应改为: i = i0+1 ; printf( “ M ,“ ,i ) ; if ( i==0 ) printf ( “ \\n ”) ; if ( i>100) break ;
10 } (四)编写程序 1.小明妈妈给他买了若干块巧克力,小明第一天吃了一半,还不过瘾,又多吃了一块,第二天又将剩下的巧克力吃掉一半,又多吃一块,以后每天都吃了前一天剩下的一半零一块。到第10天再想吃时,只剩下一块了。编程计算小明妈妈总共给小明买了多少块巧克力?
2. 一百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,…,你每天给我的钱是前一天的两倍,直到满一月(30天) ,百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱?百万富翁给陌生人
第 31 页
信息科学技术学院《C语言程序设计》实验指导书
多少钱?
While实现:
1.译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。可以按以下的规律将电文变成密码:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。字母按上述规律转换,非字母字符不变。
2.计算1~20之间的奇数之和和偶数之和。 do…while循环实现
1.日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想,猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘以3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1,请编程验证。 2.统计一个整数的位数。从键盘输入一个整数,统计该数的位数。例如,输入12345,输出5;输入-99,输出2。 For循环实现
1.马克思手稿里有一道有趣的数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭共花了50先令:每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人、女人和小孩各有几人?
2.有一对兔子,从出生后第三个月起每个月都生一对小兔子,小兔子长到第三个月后每月又生一对小兔子,假如兔子都不死,问20个月内每个月的兔子总数为多少? 3.输入一批学生的成绩,找出最高分。 循环嵌套
1.计算1!+2!+3!+…+100!。要求使用嵌套循环。
2. 三对情侣参加婚礼,三个新郎为A,B,C,三个新娘为X,Y,Z,有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说他的未婚夫是C;C说他将和Z结婚,这人听后知道他们在开玩笑,全是假话,请编程找出谁将和谁结婚。
第 32 页
信息科学技术学院《C语言程序设计》实验指导书
循环结构程序设计补充
(一)阅读程序
1. #include
int main( ) {int a=0,j; for(j=0;j<4;j++) { switch( j ) { case 0:
case 3:a+=2;break; case 1:
case 2:a+=3;break;; default:a+=5;break;
} }
printf(\return 0; }
分析结果 运行结果 2. #include
for(i=1;i<6;i++)
{ if(i%2) {printf(\ printf(\ }
printf(\return 0; } 分析结果 运行结果 3. #include
第 33 页