实验报告_实验5 循环结构程序设计(1)(学号_姓名)
一、实验目的:
1、熟悉循环结构的循环控制部分和循环体部分;
2、掌握for语句、while语句、do…while语句的使用,并能相互代替;
3、熟悉累加、连乘积、分类统计等算法,能根据实际需要构建循环语句;
4、熟悉随机函数rand()、三角函数sin(x)、cos(x)的使用。
二、实验内容
1、(基础题)用for语句编写程序,计算1-3+5-7+…-99+101的值。
程序代码:
#include<stdio.h>
int main()
{
int sign=-1,sum=0;
int i;
for(i=1;i<=101;i+=2)
{
sign=-sign;
sum=sum+sign*i;
}
printf("1-3+5-7+…--99+101=%d\n\n",sum);
while(1);
return 0;
2、(基础题)用while语句编写程序,如下图所示:输出角度0、10、20、30、……180的正弦、余弦值。
程序代码:
#include<stdio.h>
#include<math.h>
#define PI 3.1415926
int main()
int i=10;
double x;
while(i<=180)
{
x=i/180.0*PI;
printf("角?度¨¨: %4d\t",i);
printf("正y弦¨°: %10.6f\t",sin(x));
printf("余®¨¤弦¨°: %10.6f\n",cos(x));
i+=10;
}
return 0;
}
3、(基础题)参考大课中的例子,用do...while语句编写程序,输出满足n!<=1000000的最大整数n。
程序代码:
#include<stdio.h>
int main()
{
int i=1,p=1;
do
{
p=p*i;
i=i+1;
}while(p<=1000000);
printf("满¨²足Á?n!<=1000000的Ì?最Á?大䨮整?数
ºyn=%d\n\n",i-1);
while(1);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n1,n2,n3,n4,n5,n6;
n1=n2=n3=n4=n5=n6=0;
const int N=1000000;
int a;
int i;
srand(time(0));
for(i=1;i<=N;i++)
{
a=1+rand()%6;
switch(a)
{
case 1:
n1++;
break;
case 2:
n2++;
break;
case 3:
n3++;
break;
case 4:
n4++;
break;
case 5:
n5++;
break;
case 6:
n6++;
break;
}
}
printf("出现1点的次数为 %d, 所占比例为 %10.6f%%\n",n1,n1*100.0/N);
printf("出现2点的次数为 %d, 所占比例为 %10.6f%%\n",n2,n2*100.0/N);
printf("出现3点的次数为 %d, 所占比例为 %10.6f%%\n",n3,n3*100.0/N);
printf("出现4点的次数为 %d, 所占比例为 %10.6f%%\n",n4,n4*100.0/N);
printf("出现5点的次数为 %d, 所占比例为 %10.6f%%\n",n5,n5*100.0/N);
printf("出现6点的次数为 %d, 所占比例为 %10.6f%%\n\n",n6,n6*100.0/N);
system("pause");
return 0;
}。