资源描述
实验五 循环结构、字符型数据C语言程序设计
实验目的
⑴熟练掌握while、do-while语句实现循环的方法;
⑵熟练掌握for语句实现循环的方法;
⑶熟悉掌握字符型数据。
实验内容
1.输入并运行以下程序
main( )
{ int i,sum;
i=1;
sum=0;
while(i<=100)
{ sum=sum+i; i++; }
printf("sum=%d\n",sum);
}
⑴本程序功能是从1累加到100,要求能熟练记住。
⑵将while(i<=100)改为while(i<100),看看运行结果有什么不同,想想为什么。
⑶如果要求1到1000的和,本程序应该怎么改?
⑷改进程序,求1+2+……+n(n为你想输入的任意整数)
⑸再次改进程序,可以求m+(m+1)+……+n的和(m,n为任意整数)。
2.将上面的程序修改为求阶乘
main( )
{ int i,sum;
i=1;
sum=1;
while(i<=6)
{ sum=sum*i; i++; }
printf("sum=%d\n",sum);
}
比较一下,与上一题有什么不同,想想如果将6改为8将会怎么样。
3.将第1题改为用for循环来做
main( )
{ int i,sum;
sum=0;
for(i=1;i<=100;i++)
{ sum=sum+i; }
printf("sum=%d\n",sum);
}
4.将第2题改为用for循环来做
main( )
{ int i,sum;
sum=1;
for(i=1;i<=6;i++)
{ sum=sum*i;}
printf("sum=%d\n",sum);
}
5.将第3题稍做修改,学会break和continue的使用
⑴
main( )
{ int i,sum;
sum=0;
for(i=1;i<=100;i++)
{ if(i= =4)break;
sum=sum+i;
}
printf("sum=%d\n",sum);
}
将以上程序的运行结果与第3题的运行结果比较。
⑵
main( )
{ int i,sum;
sum=0;
for(i=1;i<=100;i++)
{ if(i= =4) continue;
sum=sum+i;
}
printf("sum=%d\n",sum);
}
将以上程序的运行结果与第3题的运行结果比较。
6.输入并运行以下程序
#include "math.h"
main( )
{ int s;
float n,t,pi;
t=1.0;
pi=0;
n=1.0;
s=1.0;
while(fabs(t)>=1e-4)
{ pi=pi+t;
n+=2.0;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%f\n",pi);
}
本程序为求π值的程序。必须记住求绝对值的函数fabs,以及使用s=-s;来改变正负号。
7.输入并运行以下程序
main( )
{ float r,s;
const float pi=3.14159;
for(r=0.5; r<6.0; r++)
{ s=pi*r*r;
printf("r=%f s=%f\n",r,s);
}
}
8.输入并运行以下程序
main( )
{ int k,i,j;
for(i=0;i<=2;i++)
{ for(k=1;k<=i;k++) printf(" ");
for(j=0;j<=3;j++) printf("*");
printf("\n");
}
}
9.输入并运行以下程序
main( )
{ int i,s;
s=0;
for(i=1;i<=10;i++)
{ s=s+i;
if(s>5)break;
printf("s=%d\n",s);
}
}
10.输入并运行以下判断一个数是否为素数的程序(备注:这个程序很重要):
main( )
{ int i,x;
printf("Enter a Number:\n");
scanf("%d",&x);
for(i=2;i<x;i++)
{ if(x%i= =0)break;
}
if(i= =x)printf("YES\n");
else printf("NO\n");
}
想想看,如果将for(i=1;i<x;i++)中的x改为(int)sqrt(x)可不可以?如可以,其它哪些地方也要做相应改动,并且程序需要增加什么东西?
编程训练
(1)编写程序,求1-3+5-7+…-99+101的值。
(2)编写程序,求e的值。e≈1+1/1!+1/2!+1/3!+1/4!+…+1/n!
①用for循环,计算前50项。
②用while循环,要求直至最后一项的值小于10-4
(3)编写程序,输出从公元1000年至2000年所有闰年的年号。每输出3个年号换一行。判断公元年是否为闰年的条件是:
①公元年数能被4整除,而不能被100整除。
②公元年数能被400整除也是闰年。
展开阅读全文