循环结构实验
C语言设计实验报告
实验项目:循环结构实验
姓名:杜鹏 实验地点:一教524 实验时间:5.6
一、实验目的与要求
1、熟练的掌握for,while,dowhile循环结构。
2、对for,while循环的嵌套加以练习。
二、实验内容
实验一
1不知如何使用conio.h的使用
2)实验代码
5.3.1 #include<stdio.h>
#include<conio.h>
main()
{
int n,k,s=0;
printf("请输入一个整数:");
scanf("%d",&n);
for(k=1;k<=n;k++)
{
s=s+k;
printf("%d\t",s);
}
}
3)问题分析
发现在有无#include conio.h的情况下,两种结果是一样的。
实验二
1对于while里面的条件语句的不清晰。不知如何下手。
2)实验代码
5.3.2 #include<stdio.h>
#include<conio.h>
main()
{
float x,max,min;
printf("Please input scores:");
scanf("%f",&x);
max=min=x;
while(x>0)
{
if(x>max) max=x;
if(x<min) min=x;
scanf("%f",&x);
}
printf("\nmax=%.2f\nmin=%.2f\n",max,min);
}
3)问题分析
首先就应该判定在while语句中x是否大于0,然后在分别比较。
实验三
1未能在运算时把n转化为浮点型
2)实验代码
5.3.3 #include<stdio.h>
main()
{
float sum,value;
int n;
printf("请输入value:");
scanf("%f",&value);
sum=0.0;
n=0;
do{
++n;
sum+=1.0/(float)n;
}
while(sum<value);
printf("n=%d",n);
}
3)问题分析
首先我们要知道do while循环是先执行语句后判断条件的的。
实验四
1对于gerchar的认知不够,以及在for循环中的while内的条件不知是什么。
2)实验代码
5.3.4 #include<stdio.h>
main()
{
char c;
int k,data;
data=0;
for(k=0;k<4;k++)
{
while(k<4)
{
c=getchar();
if(c>='0' && c<='9')
break;
}
if(k==0)
data+=(c-'0')*1000;
if(k==1)
data+=(c-'0')*100;
if(k==2)
data+=(c-'0')*10;
if(k==3)
data+=(c-'0');
}
printf("Data=%d ",data);
}
3)问题分析
getchar就是从键盘上获取一个字符,然后判断这个字符是否是大于'0'小于'9'然后就根据下面的条件运算得到结果。
实验五
1for循环的嵌套问题,主要是看是否需要大括号
2)实验代码
5.3.5 #include<stdio.h>
main()
{
int m,n,k,s;
printf("各种驮法如下:\n");
for(m=1;m*3<=100;m++)
for(n=1;n*2<100;n++)
for(k=1;k/2<=100;k++)
if((3*m+2*n+k/2)==100 && (m+n+k)==100 && (k%2==0))
printf("大马%3d匹;中马%3d匹;小马%3d匹。\n",m,n,k);
}
3)问题分析
对于条件可能会弄错,以及对于小马是否是偶数上需要确定。即k%2==0
实验六
199乘法表的代码,主要就是注意他的行和列的需求来进行解答
2)实验代码
99乘法表 #include<stdio.h>
main()
{
int a,b,c;
for(a=1;a<=9;a++)
{
for(b=1;b<=a;b++)
printf("%d ",a*b);
printf("\n");
}
}
3)问题分析
n行只有n列,所以在内循环当中就要考虑到变量的条件范围。
实验七
1对于counter的使用不够熟练,以及对counter的理解不够深。
2)实验代码
5.4.1 #include<stdio.h>
main()
{
int i,j,counter=0;
i=11;
for(;i<100;i+=2)
{
for(j=2;j<=i-1;j++)
if(i%j==0)
break;
if(counter%10==0)
printf("\n");
if(j>=i)
{
printf("%6d",i);
counter++;
}
}
}
3)问题分析
counter%10指的是每输入10个数换行。
三、实验小结
1、对于循环语句的掌握程度自己还是有所欠缺。应该多多训练,能够快速的上手。
2、对于循环语句中的条件的使用上,尤其是在嵌套语句中