参考程序:
#include
{ long n,sum=0,i,t=1; scanf(\ for(i=1;i<=n;i++) { sum=sum+t; t=t+2; }
printf(\ } 或
#include
{ long n,sum; scanf(\ sum=n*n;
printf(\ }
注:评判系统不对程序实现细节进行分析,只对运行结果进行评测。 [题目1026: 加一行字符中的数字]
由键盘输入一行字符 总字符个数从1 个至80 个均有可能,以回车符表示结束),将其中每个数字
字符所代表的数值累加起来,输出结果。
[第一组自测数据] [第二组自测数据]
[键盘输入] [键盘输入] abc123↙ A6H7T+65↙ [正确输出] [正确输出] 6 24 [提示] 1)可以使用下面程序段逐个读入键盘输入的一行字符 char ch;
while((ch=getchar())!='\\n') {……}
2)数字字符转为对应的数值可用a=ch-'0' 参考程序:
#include
{ char c; int s=0,a;
while((c=getchar())!='\\n')
{ if(c>='0'&&c<='9') { a=c-48; s=s+a; } }
printf(\ }
[题目1029:求最大公约数]
由键盘输入两个正整数m、n m、n 用长整数表示),计算它们的最大公约数。
[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入] 16,24↙ 17,25↙
[正确输出] [正确输出] 8 1
[提示]公约数是既能整除m 又能整除n 的数,题目要求满足这一条件的最大的一个。 参考程序:
#include
{ long r,m,n,temp;
scanf(\ while(m!=0) { r=n%m; n=m; m=r; }
printf(\ } 或
#include
{ 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
{ char c;
while((c=getchar())!='\\n') { if(c>='A'&&c<='Z') c=c+32; putchar(c); } }
[题目1037:计算数列和] 有数列:
编程实现,由键盘输入n,计算输出数列前n 项和。(结果保留四位小数)
[第一组自测数据] [第二组自测数据]
[键盘输入] [键盘输入] 20↙ 30↙
[正确输出] [正确输出] 32.6603 88.0403 参考程序:
#include
{ 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 99 21↙ [正确输出] 5
参考程序:
#include \ main()
{ int i,t,min;
scanf(\ for(i=1;i<10;i++) {
scanf(\ if(t printf(\ } *[题目1031:统计单词个数] 由键盘输入一个句子 总字符个数从1 个至80 个均有可能,以回车符表示结束),以空格分割单词, 要求输出单词的个数。 [第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入] How Are You? ↙ There are many students and many [正确输出] trees!↙ 3 [正确输出] 7 参考程序: #include { 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 { 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)掌握在程序设计中使用多重循环。 二、实验内容