【C语言程序设计】实验.设计.习题.答案. 循环结构.doc
文本预览下载声明
实验3 循环结构
姓名: 学号: 实验日期:
实验目的和要求
(1)掌握while,for,do while语句实现循环结构的方法;
(2)掌握循环结构和选择结构嵌套的设计方法及多重循环的设计方法;
(3)掌握break,continue,goto语句使用方法。
实验内容:实验指导书中的实验五
实验内容和步骤
3.1相关知识点
若程序进入死循环,怎样退出:程序中使用break语句或按“Ctrl+Break”
3.2 实验结果
5-1 该程序的功能是:输入一个数,除2求余,若余数为1,输出“I said”,并继续输入一个数,直到输入的数除2求余且余数不为1,则输出“Thanks.I need that!”
按照书中调试的要求,本程序运行结果的完整画面如下所示:
#includestdio.h
int main()
{
int n;
while(1)
{
printf(enter a number:);
scanf(%d,n);
if(n%2==1)
{
printf(i said);
continue;
}
break;
}
printf(thanks,i needed that!);
}
5-2 该程序运行结果如下图所示:
#includestdio.h
main()
{
int c;
while((c=getchar())!=\n)
{
if(c=ac=x||c=Ac=X)
c+=2;
else if(c==y||c==Y||c==z||c==Z)
c=c-24;
printf(%c,c);
}
putchar(\n);
}
5-3 解决该问题的算法:
把图像分成1、4行和2、3行,用for循环将1、4行输出6个*,2、3行可直接输出“* *”。
该程序运行结果如下图所示:
#includestdio.h
int main()
{
int i=1,j=1;
for(j=1;j=4;j++)
if(j==1 || j==4)
{
for(i=1;i=6;i++)
printf(* );
printf(\n);
}
else
printf(* *\n);
}
5-4 解决该问题的算法:
定义两个数组a[9]={1,2,3,4,5,6,7,8,9},b[9],用for循环将(b[j]=a[i]*a[j])将行上元素分别乘以列上元素并且i行元素从j(j=i)列开始乘,将所得元素赋予b[9]数组中去。
该程序运行结果如下图所示:
#includestdio.h
main()
{
int i,j,a[9]={1,2,3,4,5,6,7,8,9},b[9];
printf(* );
for(i=0;i9;i++)
printf(%d ,a[i]);
printf(\n);
printf(------------------------------------);
printf(\n);
for(i=0;i9;i++)
{
printf(%d ,a[i]);
for(j=0;j=i;j++)
printf(%d ,b[j]=a[i]*a[j]);
printf(\n);
}
}
5-5 解决该问题的算法:
While循环
该程序运行结果如下图所示:
#includestdio.h
#includemath.h
main()
{
int i;
float p,t;
i=1;
p=0.0;
t=1.0;
while(fabs(1.0/t)=1e-5)
{
p=p+1.0/t;
t=t*i;
i=i++;
}
printf(%f\n,p);
printf(%d,i);
}
5-6 解决该问题的算法:
用文字或流程图描述一下
显示全部