文档详情

【C语言程序设计】实验.设计.习题.答案. 循环结构.doc

发布:2017-07-14约1.71千字共6页下载文档
文本预览下载声明
实验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 解决该问题的算法: 用文字或流程图描述一下
显示全部
相似文档