收藏 分销(赏)

C语言循环作业.doc

上传人:s4****5z 文档编号:8795140 上传时间:2025-03-02 格式:DOC 页数:9 大小:104KB 下载积分:10 金币
下载 相关 举报
C语言循环作业.doc_第1页
第1页 / 共9页
C语言循环作业.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
实验三、 循环结构 一、实验目的 用循环结构解决实际问题; 二、知识点回顾 l for 语句是 C 语言中最常用的循环结构。一般形式为: for (表达式 1;表达式 2;表达式 3) 语句; 执行过程如下: 1、计算表达式 1。 2、计算表达式 2。如为“真”(非 0),则执行 for 后的语句;如为“假”,则跳出循环体。 3、如表达式 2 为“真”,则执行完循环体后,计算表达式 3 的值。转回步骤 2。 最常用的形式是: for(循环变量赋初值;判断条件;循环变量增值) 循环体语句; l while 语句用来实现“当型”循环结构,就是当满足某个条件时进行循环。形式为: while (表达式) 循环体语句; 当表达式为“真”(非 0 值)时反复执行后面的语句。特点是先判断,后执行。一般来说,while 中的语句是复合语句,用{}括起来,叫做循环体。 l do-while 语句用来实现“直到型”循环,就是进行循环直到某个条件不满足。形式为: do 循环体语句; while (表达式); 当表达式为“真”(非 0 值)时反复执行 do 后面的语句,特点是先执行,后判断(注意区分与 while 语句的区别)。 l while 语句和 do-while 语句可以很容易的实现互相转换。一般情况下, 如果 while 语句和 do-while 语句的循环体部分一样,则它们的运行结果也是一样的。但是,如果判断条件一开始就不满足,则运行结果不一样, 因为此时 while 语句不执行循环体,而 do-while语句要执行一次。 三、实验内容一(验证及程序分析) Eg3-1:求 1+2+3+4+5+„„+100 累加和 【说明:】本题要求完成经典的 C 算法——累加求和, 当我们把计算方法教给计算机后,剩下计算的问题就让计算机来算好了,计算机会像一头老黄牛一样不厌其烦地做事情。以后会有相似的算法如“连乘”,“求级数”,“求Π ”,“求阶乘”等。 (1)源程序: #include <stdio.h> void main() { int i,sum=0; for(i=1;i<100;i++); sum=sum+i; /*累加求和,分析循环起止条件!!*/ printf(“sum=%d\n”,sum); } (2)在 VC++编辑环境下编辑源程序。 (3)编译直到程序没有错误。 (4)运行结果: Eg3-2: 输入一组小于10000的整数,统计其中奇数偶数个数,直到输入的数大于10000为止。(仔细读题,注意终止条件) (1)算法分析:可设一整型变量 x,循环的输入整数的值,若 x%2==0 即为偶数,否则是奇数。 提示:循环条件可在 while 语句后的括号中出现,也可以用 break 语句控制。 (2)根据分析结果写出源程序。 #include <stdio.h> void main( ) { int x,xo=0,xj=0 ; /* 将偶数个数 xo 与奇数个数 xj 赋 0 值 */ printf("请输入一个不大于10000的整数(超过则程序结束):"); scanf("%d",&x); /* 先输入一个整数 */ while(x<10000) /* 输入不是回车时循环 */ { if (x%2==0) { xo=xo+1 ; printf("%d是偶数\n",x); } else { xj=xj+1 ; printf("%d是奇数\n",x); } scanf("%d",&x); /* 循环输入其余整数 */ } printf("输入的偶数共有%d个,输入的奇数共有%d个\n",xo,xj); } 以上程序调试运行成功后,改为for循环结构 请将程序运行结果粘贴至下面: 三、实验内容二(综合及设计类) Eg3-3:输入一个整数n,求n! 用循环结构编程: 请将源程序及运行结果粘贴至下面: 源程序: #include <stdio.h> void main() { int n,i,j=1; printf("请输入一个整数\n"); scanf("%d",&n); for(i=1;i<=n;i++) j=j*i; printf("输入数的阶乘为:%d\n",j); } 输入 8; 运行结果: Eg3-4: 输出10~20000之内的所有的质数,并统计输出其个数。 提示:算法请参考课件。统计个数的方法:每当找到一个质数将其输出时,个数就加1个。(双重循环) 请将程序及运行结果粘贴至下面: 程序: #include<stdio.h> main() {long m,j,i=0; printf("所有质数是:\n"); #include<stdio.h> main() {long m,j,i=0; printf("所有质数是:\n"); for(m=10;m<=20000;m++) for(j=2;j<=m-1;j++) {if(m%j==0) break; else {i++; printf("%10ld",m); break; } } printf("\n"); printf("质数个数为:%ld\n",i); } 运行结果: Eg3-5: 编写程序计算:从公元1年至今年(包含2012年),共经历了多少个闰年,多少个平年。 算法分析:用一个从1到2012的循环,进行验证,如果满足闰年的条件,即能被4整除但不能被100整除,或能被400整除,则为闰年;否则为平年。循环中可参照EG3-4中,用两个变量分别存放平年与闰年的数目。(闰年的判断参考实验二) (1)请将源程序粘贴到下面。 #include <stdio.h> void main() { int a,b=0,c=0; for(a=1;a<=2012;a++) { if(a%4==0 && a%100!=0) b++; else if(a%400==0) b++; else c++; } printf("从公元1年至2012年共经历了%d个闰年,%d个平年\n",b,c); } (2)程序运行结果抓图至下方: Eg3-6: 编程: 要求打印九九表如下格式: 1*1=1 1*2=2 ….. 1*8=8 1*9=9 2*1=2 2*2=4 …… 2*8=16 ….. 9*1=9 (1)请将源程序粘贴到下面。 #include<stdio.h> void main() {int i,j,k; for(i=1;i<=9;i++) { for(j=1;j<=10-i;j++) { k=i*j; printf("%3d*%d=%d",i,j,k); } printf("\n"); } } (2)程序运行结果:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服