《C语言学习知识实验报告(三).doc》由会员分享,可在线阅读,更多相关《C语言学习知识实验报告(三).doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-!C语言实验报告(三)一、实验目的1、 掌握C语言中,循环结构2、 掌握C语言中,for语句和while语句的使用3、 掌握break语句与continue语句4、 掌握直到型循环do-while语句二、实验内容1. 不能被3整除的自然数输入一整数初始值n(0n100),输出该初始值(含)后的10个不能被3整除的自然数。样例输入:10样例输出:10 11 13 14 16 17 19 20 22 23要求输出的每个数据占4列。程序代码:#include stdio.hint main () int n,i,t=1; scanf(%d,&n); for(i=n;t=10;i+) if(i%3!
2、=0) printf(%4d,i); t+; printf(n); return 0;2. 表达式求和求1+(1+2)+(1+2+3)+(1+2+3+n)的值,n为键盘输入的一个整数,(0n100)样例输入:3样例输出:10程序代码:#include stdio.hint main()int n,i,sum,j;scanf(%d,&n);sum=0;for(i=1;i=n;i+)for(j=1;j=i;j+)sum+=j;printf(%dn,sum);return 0;3. 数的平方表描述:输入两个空格隔开的整数n和m(0n,m100),输出从n到m的平方。 输入:用空格隔开的两个整数n和m
3、(0n,m100)输出:从n到m的平方样例输入:1 5样例输出: 1的平方是12的平方是43的平方是94的平方是165的平方是25程序代码:#includestdio.h int main() int m,n,i,t; scanf(%d%d,&n,&m); for(i=n;i=0)输出:从1到n的平方和样例输入:100样例输出:338350程序代码:#includestdio.hint main()int n,i,sum=0;scanf(%d,&n);for(i=1;i=n;i+)sum+=i*i;printf(%d,sum);return 0;5. 求和值描述:求和值Sn=a+aa+aaa+
4、aaaaaa(n位)如n=5,a=3,则是求S5=3+33+333+3333+33333。输入:用空格隔开的n和a输出:s=和值样例输入:3 1样例输出:s=123程序代码:#include stdio.hint main()int n,i,sum,a,j;scanf(%d%d,&n,&a);sum=0;j=0;for (i=1;i=n;i+)j=j*10+a;sum+=j;/sum=sum+j;printf(s=%dn,sum);return 0;6. 被7整除的数描述:输出指定范围被7整除的数。 输入:两个用空格隔开的整数n,m(0nm10000)输出:输出单独占一行,在n到m之间(包含n
5、和m),被7整除的数,用一个空格隔开。样例输入:10 60样例输出:14 21 28 35 42 49 56 程序代码:#includestdio.hint main()int n,m,i;scanf(%d%d,&n,&m);for(i=n;i=m;i+)if(i%7=0)printf(%d ,i);printf(n);return 0;7. 指定范围的水仙花数描述:编写一个程序,打印出指定范围的所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数。输入:输入两个用空格隔开的整数(100nm999)输出:在n和m之间(含n和m),所有的水仙花数。每行一个。样例输入:100
6、 999样例输出:153 370 371 407程序代码:#include stdio.hint main () int n,m,a,b,c,i;scanf(%d%d,&n,&m);for(i=n;i=m;i+)a=i/100;b=i/10%10;c=i%10;if(i=a*a*a+b*b*b+c*c*c)printf(%dn,i);return 0;8. 奇数的乘积 描述:给你n个整数,求它们中所有奇数的乘积。 输入:输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。输出:输出每组数中的所有奇数的
7、乘积,对于每个测试实例,输出一行。样例输入:3 1 2 3 ; 4 2 3 4 5样例输出: 3 15程序代码:#include stdio.hint main(void) int n,i,m,s; while (scanf(%d, &n)=1) s=1; for(i=1; i=n;i+) scanf(%d,&m); if (m % 2 != 0) s*=m; printf(%dn,s); return 0;9. 阶乘和描述:编写一个程序,其功能为:计算并输出:sum=1!+2!+.+n!输入:一个在0到10之间(含0和10)的整数n。输出:sum=1!+2!+.+n!样例输入:2样例输出:s
8、um=3程序代码:#include stdio.hint main ()int n,i,sum,a,j;scanf(%d,&n);sum=0;j=1;for(i=1;i=1e-5)x1=x2;x2=(x1+a/x1)/2;printf(%.5fn,x2);return 0;11. 整数之间的素数描述:求指定的两个整数m、n之间的素数(m=n) 输入:只有一行,是空格隔开的两个正整数m和n。(m=n)输出:在m和n之间(含m和n)的所有素数,按照每个数据占6列,每行5个数据输出(最后一行数目可以少)。样例输入:100 200样例输出: 101 103 107 109 113127 131 137
9、 139 149151 157 163 167 173179 181 191 193 197199程序代码:#include stdio.h#include math.hint main()int m,n,a,flag=0,i=2,b=0; scanf (%d %d,&m,&n);for(a=m;a=n;a+)i=2;flag=0;while(i=sqrt(a)&flag=0)if(a%i=0)flag=1;else i+;if(flag=0)printf(%6d,a);b+;if(b%5=0)printf(n); return 0;12. 打印菱形描述:从键盘输入一个整数n(1n9),打印出
10、指定的菱形。输入:正整数n(1n9)。输出:指定的菱形。 第一行前面有n-1个空格,第二行有n-2个空格,以此类推,直到第n行;从第n+1行后空格开设逐渐增多,每次增加一个。样例输入:5样例输出:* * * * * * * *程序代码:#includeint main()int m, n,i,t; scanf(%d,&n); for(i=1;i=1;m-)/hereprintf( );for(t=2*i-1;t=1;t-)printf(*);printf(n);for(i=n-1;i=1;i-)for(m=n-i-1;m=0;m-)/hereprintf( );for(t=2*i-1;t=1;
11、t-)printf(*);printf(n);return 0;13. sum of integers描述:In this problem, your task is to calculate SUM( n ) = 1 + 2 + 3 + . + n 输入: The input first line is a integer m denotes number of input and below will consist of m integers n, one integer per line输出: For each case, output SUM( n ) in one line, fo
12、llowed by a blank line. You may assume the result will be in the range of 32-bit signed integer.样例输入: 21100样例输出: 15050程序代码:#include stdio.hint main()int n,i,m,sum,j;scanf(%d,&n);for(i=1;i=n;i+)scanf(%d,&m);sum=0;for(j=1;j=m;j+)sum+=j;printf(%dnn,sum);return 0;14. 爬井的小明描述:由于有不道德的人偷走了一个窨井盖子,而小明不慎掉了下去,
13、他奋力攀爬。他想知道需要多长时间可以爬出去。(数据保证一定可以爬出)已知,小明每分钟可以爬u米,但是每爬完一分钟必须要休息一分钟,在他休息的时间里,他又会往下滑d米。井深h米。如果小明在某个时刻已经到达井口,但是未满1分钟,把这一分钟算满。输入:h u d分别表示井深、小明每分钟爬的距离,和每分钟下滑的距离输出:一个整数,表示需要用多少分钟爬出。样例输入:sample110 2 1sample220 3 1样例输出:sample117sample219程序代码:#include int main() double h, u, d, v, s; int t; while (scanf(%lf %lf %lf, &h, &u, &d) = 3) t=0; s=0; v=u-d; for(;) if(s+u=h) +t; break; t+=2; s+=v; printf(%dn,t); return 0;