收藏 分销(赏)

实验4循环控制一.doc

上传人:w****g 文档编号:3561517 上传时间:2024-07-09 格式:DOC 页数:5 大小:94.04KB 下载积分:6 金币
下载 相关 举报
实验4循环控制一.doc_第1页
第1页 / 共5页
实验4循环控制一.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
《C语言程序设计》实验报告 ---------------------------------------------------------------------------------------------- 实验4循环控制(一) 一. 实验目的 (1)掌握用while语句,do…While语句和for语句实现一重循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法(例如求最大/最小值、求和、统计等)。 (3) 进一步学习调试程序的技巧 。 二.实验内容和步骤 1.填空题 (1)给定程序成c4-1.c功能是计算1到M之间的奇数之和及偶数之和。 #include<stdio.h> #define M 100 int main() { int a,b,i; a=0;b=0; for(i=1;i<=99;i+=2) { a=a+i; b=b+i+1; } printf("sum of evens is %d\n",b); printf("sum of odds is %d\n",a); return 0; } (2)以下给定程序c4-2.c的功能是从键盘输入整数,分别计算所输入正整数的和、负整数的和。当输入0时,结束并输出计算结果。 #include<stdio.h> int main() { int x,sum1,sum2; sum1=0;sum2=0; scanf("%d",&x); while(x!=0) { if(x>0) sum1+=x; else sum2+=x; scanf("%d",&x); } printf("sum of>0 in %d\n",sum1); printf("sum of<0 is %d\n",sum2); return 0; } (3)给定程序c4-3.c功能是计算正整数num的各位上数字之积。 #include<stdio.h> int main() { int num,k; k=1; printf("please enter a number:"); scanf("%d",&num); do { k*=num%10; num=num/10; }while(num!=0); printf("\n%d\n",k); return 0; } 反思与总结:1.evens代表偶数,odds表示奇数;2.(3)中取末尾的方法值得一看!3.通过这三个例子掌握for,while,do while语句的使用。 2.改错题 (1)以下程序c4-4.c的功能是从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请将程序补充完整。 #include<stdio.h> int main() { float x,amax,amin; scanf("%f",&x); amax=0;amin=100; for(;x>=0;) { if(x>amax) amax=x; if(x<amin) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); return 0; } (2)以下程序c4-5.c的功能是从低位开始取出长整型变量s中奇位数上的数,依次构成一个新数放在t中。 #include<stdio.h> int main() { long s,t,sl=10; printf("\nPlease enter s:"); scanf("%ld",&s); t=s%10; while(s>0) { s=s/100; t=s%10*sl+t; sl=sl*10; } printf("The result is:%ld\n",t); return 0; } (3)给定程序c4-6.c的功能是从键盘上输入两个正整数x,y,求它们的最大公约数。 #include<math.h> #include<stdio.h> int main() { int n,m,t; printf("Please enter two numbers:"); scanf("%d,%d",&n,&m); if(n<m) {t=n;n=m,m=t;} t=n%m; while(t!=0) {n=m; m=t; t=n%m;} printf("max is:%d\n",m); return 0; } 反思与总结:1.掌握(1)题中找最大数和最小数的方法;2.理解(2)中程序设计的思想;3.掌握(3)中求最大公约数的方法。 3.程序设计题 (1)以下程序的功能是求两个正整数mn之间所有既不能被3整除又不能被7整除的整数之和。 #include<stdio.h> int main() { int m,n,t,i,s; printf("m=,n="); scanf("%d,%d",&m,&n); if(m>n) {t=n;n=m;m=t;} for(s=0,i=m;i<=n;i=i+1) {if(i%3!=0&&i%7!=0) s=s+i;} printf("S is:%d\n",s); return 0; } (2)输入一行字符,分别统计出其中的英文字母,空格,数字和其他字符的个数。 #include<stdio.h> int main() { char ch; int a=0,b=0,c=0,d=0; while((ch=getchar())!='\n') {if(ch==32) b=b+1; else if(ch>=48&&ch<=57) c=c+1; else if((ch>=65&&ch<=90)||(ch>=97&&ch<=122) ) a=a+1; else d=d+1;} printf("%d,%d,%d,%d\n",a,b,c,d); return 0; } (3)编程求1!+2!+3!+……+20!的值。 #include<stdio.h> int main() { int i,p=1,sum=0; for(i=1;i<=20;i++) {p=p*i;sum=sum+p;} printf("sum=%d\n",sum); return 0; } (4)求π #include<stdio.h> #include<math.h> int main() { int n=1; double term,pi=1.0; for(n=1;1.0/(n*(n+2))>=1.0e-6;n=n+2) {term=1+1.0/(n*(n+2)); pi=pi*term;} pi=2*pi; printf("%6.4lf\n",pi); return 0; } 反思与总结:空格=32,数字=48~57,大写字母=65~90,小写字母=97~122 (注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服