C语言第五次作业练习
来源:互联网 发布:wp login.php 编辑:程序博客网 时间:2024/06/10 07:23
以下程序教材基于 谭浩强C程序设计(第四版)
第1题 分别使用while、do…while、for三种循环结构计算并输出2+4+8+10+……+100的运算结果。
/*第1题 分别使用while、do…while、for三种循环结构计算并输出2+4+8+10+……+100的运算结果。*//*# include<stdio.h>int main(void){ int i=2,sum=0; while(i<=100) { sum=sum+i; i+=2; } printf("sum=%d\n",sum); return 0;}*/
/*# include<stdio.h>int main(void){ int i=2,sum=0; do { sum=sum+i; i+=2; } while(i<=100); printf("sum=%d\n",sum); return 0;}*/
# include<stdio.h>int main(void){ int i,sum=0; for(i=2;i<=100;i+=2) { sum=sum+i; } printf("sum=%d\n",sum); return 0;}
第2题 教材习题P.140习题3,求两个正整数的最大公约数和最小公倍数。
/*此程序编写于2017年3月18日,目的:求两整数的最大公约数和最小公倍数*/# include<stdio.h>int main(void){ int a,b,n,m,t; printf("请输入两个正整数n,m:"); scanf("%d,%d",&n,&m); if(n<m) //先互换两个数 { t=n; n=m; m=t; } a=n*m; while(m!=0) { b=n%m; n=m; m=b; } printf("它们的最大公约数为:%d\n",n); printf("它们的最小公倍数为:%d\n",a/n); return 0;}
第3题 教材习题P.140习题8,输出所有的水仙花数。
/*目的:求出所有的水仙花数*/# include<stdio.h>int main(void){ int a,b,c,d; printf("水仙花数为以下数值\n"); for(d=100;d<1000;d++) { a=d/100; b=d/10%10; c=d%10; if(d==a*a*a+b*b*b+c*c*c) printf("%d\t",d); } printf("\n"); return 0;}
第4题 教材习题P.141习题12,求解猴子吃桃问题。
/*猴子吃桃问题*/# include<stdio.h>int main(void){ int d,a,b; //d为天// d=9; b=1; do { a=(b+1)*2; b=a; d--; } while(d>0); printf("第一天一共摘了%d个桃子\n",a); return 0;}
# include<stdio.h>int main(){ int x,i,b; //第一天摘取x个,i为天// for (x=1;x<10000;x++) { b=x; for(i=1;i<10;i++) { b=b/2-1; } if(b==1) break; } printf("第一天一共摘了%d个桃子\n",x); return 0;}
第5题 完成例5.6,熟悉嵌套for循环的用法。
/*输出4*5矩阵*/# include<stdio.h>int main(void){ int i,j,n=0; for(i=1;i<=4;i++) for(j=1;j<=5;j++,n++) { if(n%5==0) printf("\n"); printf("%d\t",i*j); } printf("\n"); return 0;}
第6题 教材习题P.141习题9,输出1000之内所有的完数。
/*输出1000之内的所有完数*/# include<stdio.h>int main(void){ int n,m,sum; for(n=1;n<=1000;n++) { sum=0; for(m=1;m<=n/2;m++) if(n%m==0) sum+=m; if(n==sum) { printf("%d 它的因子为", n); for(m=1;m<=n/2;m++) if(n%m==0) printf("%d,",m); printf("\b \n"); } } return 0;}
第7题 输出九九乘法表。
/*输出九九乘法表*/# include<stdio.h>int main(void){ int x,y,z; for(x=1;x<=9;x++) { for(y=1;y<=x;y++) { z=x*y; printf("%d*%d=%d ",y,x,z); } printf("\n"); } return 0;}
第8题 完成例5.7,计算圆周率的近似值。
/*此程序编写于2017年3月17日,目的:计算pi的值*/# include<stdio.h># include<math.h>int main(void){ int sign=1; double pi=0.0,n=1.0,term=1.0; while(fabs(term)>=1e-6) { pi=pi+term; n=n+2; sign=-sign; term=sign/n; } pi=pi*4; printf("pi=%10.8f\n",pi); return 0;}/*此程序存在的问题:精度低,将循环判断改为1e-8后,精度会高一些*/
第9题 完成例5.8,求斐波那契数列的前40个数。
/*斐波那契数列前40个数*/# include<stdio.h>int main(void){ int f1=1,f2=1,f3; int i; printf("%-5d\n%-5d\n",f1,f2); for(i=1;i<=38;i++) { f3=f1+f2; printf("%-5d\n",f3); f1=f2; f2=f3; } return 0;}/*改进程序# include<stdio.h>int main(void){ int f1=1,f2=1; int i; for(i=1;i<=20;i++) { printf("%-5d %-5d",f1,f2); if(i%2==0) printf("\n"); f1=f1+f2; f2=f2+f1; } return 0;}*/
第10题 完成例5.9,判断输入的整数是否为素数。
/*判断输入的整数是否为素数。*/# include<stdio.h>int main(void){ int n,i; printf("请输入一个整数\n"); scanf("%d",&n); for(i=2;i<=n-1;i++) if(n%i==0) break; if(i<n) printf("%d不是素数\n",n); else printf("%d是素数\n",n); return 0;}/*改进程序如下:# include<stdio.h># include<math.h>int main(void){ int n,i,k; printf("请输入一个整数\n"); scanf("%d",&n); k=sqrt(n); for(i=2;i<=k,i++) if(n%i==0) break; if(i<k) printf("%d不是素数\n",n); else printf("%d是素数\n",n); return 0;}*/
第11题 完成例5.10,求100-200之间所有的素数。
/*求100~200间的全部素数*/# include<stdio.h># include<math.h>int main(void){ int n,k,i,m=0; for(n=101;n<=200;n=n+2) { k=(int)sqrt(n); for(i=2;i<=k;i++) if(n%i==0)break; if(i>=k+1) { printf("%d\t",n); m=m+1; } if(m%10==0) printf("\n"); } printf("\n"); return 0;}
0 0
- C语言第五次作业练习
- 第五次作业C语言
- C语言第四次作业练习
- C语言第六次作业练习
- C语言第七次作业练习
- C语言第八次作业练习
- C语言第九次作业练习
- c++-第五次作业
- 第五次C ++作业
- c语言第五次练习题
- C语言第四次作业
- C语言第四次作业
- C语言第七次作业
- C语言第五堂作业
- C语言第五课练习
- C语言第一次作业练习
- C语言第二次作业练习
- C语言第三次作业练习
- mysql--下载
- fire fox os 简介
- 让Fragment监听返回键
- Item38 Be aware of varying thread handle destructor behavior
- linux基础命令
- C语言第五次作业练习
- python语句实现文件合并
- 周志华《Machine Learning》学习笔记(11)--聚类
- HDOJ 2191 (多重背包/二进制分解/单调队列优化DP)
- 背包——AtCoder Regular Contest 073 #D
- 集群、分布式环境下5种session处理策略
- LeetCode-313. Super Ugly Number (JAVA)超级丑数
- 永久改变SELINUX安全上下文
- 如何培养卓越的项目推动力