《C程序设计》课程实验报告学院:班级:姓名:学号:实验设备:计算机1台实验日期:2011年3月1日实验项目名称循环结构程序设计实验目的掌握使用三种循环语句实现循环结构的方法。
实验要求:能用while~ do~while for 三种循环语句实现循环结构,编写简单的程序,掌握这三种循环语句。
实验内容(包括步骤):1.猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半另一个,以后每天早晨都吃剩下的一半另一个,到第十天早晨再想吃时,就剩一个桃子。
问第一天共摘了多少桃子。
要求:分别用三种语句编写程序。
2.编写程序验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。
例如:13=1;23=3+5;33=7+9+11;43=13+15+17+19。
要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为0时止。
3.编写程序,求1-3+5-7+…-99+101的值。
4.编写程序,求e的值。
e ≈ 1+1/1!+1/2!+1/3!+1/4!+…+1/n!(1)用for循环,计算前50项。
(2)用while循环,要求直至最后一项的值小于10-6。
5.编写程序,输出从公元1600年至2000年所有闰年的年号。
每输出5个年号换一行。
判断公元年是否为闰年的条件是:(1)公元年数如能被4整除,而不能被100整除,则是闰年。
(2)公元年数如能被400整除也是闰年。
6.编写程序,打印以下图形:*************************7.输入一行字符,统计输入的字符中字母‘a’出现的次数(包括大小写)。
8.我国1991年有11.6亿人口,要求根据人口平均年增长率,计算从1991年算起经过多少年后我国的人口增加到15亿。
9.有一个四位数F=BBAA,前二位数相同,后二位数相同,此数又是某个自然数T的平方,求此数。
10.分解一个正整数的所有质因数调试与结果测试:部分程序出现错误经过调整后调试正常,达到题目要求的结果,运行正常。
代码注释: 4-1-1#include<stdio.h>int main(){int x,n;for(x=1,n=2;n<=10;n++){x=2*x+2;}printf("第一天共摘了%d个\n",x);return 0;}4-1-2#include<stdio.h>int main(){int x,n;x=1;n=2;do{x=2*x+2;n++;}while(n<=10);printf("第一天摘了%d个\n",x);return 0;}4-1-3#include<stdio.h>int main(){int x,n;x=1;n=2;while(n<=10){x=2*x+2;n++;}printf("第一天摘了%d个\n",x);return 0;}4-2#include<stdio.h>int main(){int n,m,t,s;s=0;scanf("%d",&n);m=n*n*n;printf("%d的三次方等于%d",n,m);t=n*(n-1)+1;while(s<m){s=s+t;printf("%4d",t);t=t+2;}printf("\n");return 0;}4-3#include<stdio.h>int main(){int i,n,sum,sign;i=1;sign=1;sum=0;for(n=0;n<=51;n++){i=(2*n-1)*sign;sign=-sign;sum=sum+i;}printf("值为%d\n",sum);return 0;}4-4-1#include<stdio.h>int main(){double e=1,t=1;int n;e=1;for(n=1;n<=49;n++){t=t*n;e=e+1/t;}printf("e=%4.2f\n",e);return 0;}4-4-2#include<stdio.h>#include<math.h>int main(){float e=1,t=1;int n=1;while(fabs(1/t)>=1e-6){t=t*n;n++;e=e+1/t;}printf("e=%10.8f\n",e);return 0;}4-5#include<stdio.h>int main(){int year,leap,m;for(year=1600,m=0;year<=2000;year++) {if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap){printf("%6d",year);m++;}if(m%5==0)printf("\n");} printf("\n");return 0;}4-6#include<stdio.h>int main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}return 0;}4-7#include <stdio.h>int main(){int i=0;char c;c=getchar();while(c!='\n'){if(c=='a'||c=='A')i++;c=getchar();}printf("字母a出现的次数是%d\n",i); return 0;}4-8#include<stdio.h>int main(){int y,n;float t;scanf("%f",&t);n=11.6;y=1;while(n<15){n=n*(1+t);y++;}printf("经过%d年以后人口达到十五亿\n",y);return 0;}4-9#include<stdio.h>#include<math.h>int main(){int a,b,c,d;for(b=1;b<=9;b++)for(a=0;a<=9;a++){ c=1000*b+100*b+10*a+a;d=sqrt(c);if(c==d*d)printf("这个数是%d\n",c);}return 0;}4-10#include<stdio.h>int main(){int a,i,j=0;scanf("%d",&a);for(i=2;i<=a;i++){while(a%i==0){j++;if(j==1) printf("%d=%d",a,i);else printf("*%d",i);a=a/i;}}return 0;}――――――――――――以下内容为教师填写―――――――――――――――教师评阅:成绩:良2011年月日。