华南农业大学C语言程序设计实验指导书参考答案 下载本文

while(m!=0) { r=n%m; n=m; m=r; }

printf(\} 或

#include main()

{ long m,n,t,i,s;

scanf(\t=m>n?n:m;

for (i=t-1;i>=1;i--)

{ if (m%i==0&&n%i==0) { s=i; break; } }

printf(\}

[题目1030:字符变换]

由键盘输入一个句子 总字符个数从1 个至80 个均有可能,以回车符表示结束),将其中的大写字

符变成小写 其它类型的字符不变),最后输出变换后的句子。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入] How Are You? ↙ ThiS IS My fIrSt C ProgrAm!↙

[正确输出] [正确输出] how are you? this is my first c program!

参考程序:

#include main() { char c;

while((c=getchar())!='\\n') { if(c>='A'&&c<='Z') c=c+32; putchar(c);

} }

[题目1037:计算数列和] 有数列:

编程实现,由键盘输入n,计算输出数列前n 项和。(结果保留四位小数) [第一组自测数据] [第二组自测数据]

[键盘输入] 入]

20↙ [正确输出] 出]

32.6603 参考程序:

#include main()

{ int i,t,n;

float a=2,b=1,s=0; scanf(\for(i=1;i<=n;i++) { s=s+a/b; t=a;a=a+b;b=t; }

printf(\}

[题目1044:输出最小值]

从键盘输入十个整数,输出最小值 [ 自测数据] [键盘输入]

12 45 76 87 5 87 43 55 [正确输出] 5

参考程序:

#include \main()

{ int i,t,min;

scanf(\for(i=1;i<10;i++)

99 21↙ [键盘输 30↙

[正确输88.0403 {

scanf(\if(t

printf(\}

*[题目1031:统计单词个数]

由键盘输入一个句子 总字符个数从1 个至80 个均有可能,以回车符表示结束),以空格分割单词,

要求输出单词的个数。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入] How Are You? ↙ There are many students and many

[正确输出] trees!↙ 3 [正确输出] 7

参考程序:

#include main()

{ int i,num=0,word=0; char c;

for(i=0;(c=getchar())!='\\n';i++) if(c==' ')word=0; else if(word==0) { word=1; num++; }

printf(\}

*[题目1042:百万富翁]

一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你m 元,

而你第一天只需给我一分钱。第二天我仍给你m 元,你给我2 分钱。第三天,我仍给你m 元,你给我4

分钱。依次类推,你每天给我的钱是前一天的两倍,直到一个月(38)天。百万富翁很高兴,欣 接受这

个契约。现要求,编写一个程序,由键盘输入m,计算多少天后,百万富翁开始亏钱。

[第一组自测数据] 18 [键盘输入] [第二组自

测数据]

100↙ [键盘输入] [正确输出] 10000↙

[正确输出] 25 参考程序:

#include #include main()

{ int n,m,i; scanf (\for (i=1;i<=38;i++)

if (0.01*(pow(2,i-1)-1)-i*m>=0) break; printf(\}

实验6 循环结构程序设计(二)

一、实验目的

1)进一步熟悉掌握用while 语句、do-while 语句和for 语句实现循环的方法。

2)掌握在程序设计中使用多重循环。

二、实验内容

[题目1028:求素数]

输出2 到200 之间 包括2、200)的所有素数 注:要求1 行1 个素数,按由小到大的顺序输出)。

[提示]采用双重循环,外层循环产生2 到200 之间的数,内层循环对数进行判断是否为素数。

参考程序:

# include # include main()

{ int m,k,i;

for(m=2;m<=200;m++) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) break;

if(i>k) printf(\