lesson33 三种循环语句
来源:互联网 发布:完全卸载sqlserver 编辑:程序博客网 时间:2024/05/22 18:55
task:【利用循环求和】求1000以内所有偶数的和
要求:请编出3个程序来,分别用三种循环语句完成,注意体会各种循环语句的执行过程及语法特点。
代码
/**Copyright @2017,CSDN学院*All rights reserved.*文件名称:main.c*作 者:袁生*完成日期:2017年10月27日*版 本 号:v1.0*问题描述:输出1000以内所有偶数的和*要求:请编出3个程序来,分别用三种循环语句完成,注意体会各种循环语句的执行过程及语法特点。*/#include <stdio.h>int main( ){ int i=0,total=0; /*方法一 for (i=0;i<=1000;i+=2) total+=i; *方法二 */ do { total+=i; i+=2; }while (i<=1000); //方法三 /* while (i<=1000) { total+=i; i+=2; }*/ printf("1000内所有偶数和为:%d\n",total); return 0;}
输出结果
task2:【求阶乘】输入n,求 n! 并输出
代码
/**Copyright @2017,CSDN学院*All rights reserved.*文件名称:main.c*作 者:袁生*完成日期:2017年10月27日*版 本 号:v1.0*问题描述:输入n,求n!并输出*/#include <stdio.h>int main( ){ int n,i=1,total=1; printf("请输入n:"); scanf("%d",&n); while(i<=n) { total*=i; i++; } printf("n!为:%d\n",total); return 0;}
运行结果
task3:【求x^n】输入x,n,求x的n次方(x^n)并输出(比较n!看有什么区别)
代码
/**Copyright @2017,CSDN学院*All rights reserved.*文件名称:main.c*作 者:袁生*完成日期:2017年10月27日*版 本 号:v1.0*问题描述:输入x,n,求x^n并输出*/#include <stdio.h>int main( ){ int x,n,i=1,total=1; printf("请输入x,n:"); scanf("%d %d",&x,&n); while(i<=n) { total*=x; //此处若是换为total*=i就变成了求n! i++; } printf("x^n为:%d\n",total); return 0;}
输出结果
心得
若为total*=i,则求的是n!,若为total*=x,则求的是x的n次方即x^n
task:4:【输出这样的整数】输出1000以内能被3整除且个位数为6的所有整数。
代码
/**Copyright @2017,CSDN学院*All rights reserved.*文件名称:main.c*作 者:袁生*完成日期:2017年10月27日*版 本 号:v2.0*问题描述:输出1000以内能被3整除且个位数为6的所有整数。*/#include <stdio.h>int main( ){ int i,j; //方法一: /* for (i=0; j<=1000; i++) // (1) { j=i*10+6; if (j%3==0) printf ("%d ",j); // (2) } */ //方法二: for (i=0;i<=1000;i++) { if (i%3==0) //如果能被3整除,继续看个位是否是6 if (i%10==6) //如果个位是6,则打印该数,不是则加3继续循环 printf ("%d ",i); else { i+=2; //个位不是6则加2循环,加上for的表达式3,所以是加3判断再循环 continue; } else continue; //不能整除3则加1继续循环 } //方法三: /* for (i=0;i<=1000;i++) { if (i%10==6) //个位是6再判断能否被3整除,个位不是6则加一循环 { if(i%3==0) { printf("%d ",i); i+=9; //能被3整除就打印该数,i加9再转for循环表达式3,形成加10循环 } else i+=9; //不能被3整除就找下一个个位是6的数(在该数基础上加10) } }*/ printf("\n"); return 0;}运行结果
心得
方法二是先找能被3整除的数再找个位是6的数,相较于方法一先找个位是6的数再找个位是3的数来说,效率要低上许多。以后尽量使用高效的方法。
方法二优化:
//方法二: for (i=0;i<=1000;i++) { if (i%3==0) //如果能被3整除,继续看个位是否是6 { if (i%10==6) //如果个位是6,则打印该数,不是则加3继续循环 { printf ("%d ",i); i+=2; } else i+=2; //个位不是6则加2循环,加上for的表达式3,所以是加3判断再循环 } //不能整除3则加1继续循环 }
task5:【多数中的最大】编程序,输入10个整数,找出最大数。
代码
/**Copyright @2017,CSDN学院*All rights reserved.*文件名称:main.c*作 者:袁生*完成日期:2017年10月27日*版 本 号:v1.0*问题描述:编程序,输入10个整数,找出最大数。*/#include <stdio.h>int main( ){ int x,i,max; scanf("%d",&x); max=x; for (i=2;i<=10;i++) { scanf("%d",&x); max=(max>x)?max:x; } printf("max=%d\n",max); return 0;}
运行结果
心得
输入n个数据巧妙使用循环,简单 粗暴,而不是这样
scanf("%d %d %d %d %d",&a,&b...)涉及n个变量。
阅读全文
0 0
- lesson33 三种循环语句
- 三种循环语句
- 三种循环语句
- 利用循环求和:三种循环语句
- 三种循环语句!及课后题
- 循环“停止”的三种特殊语句
- 第三十三讲 项目 三种循环语句
- JAVA的 三种循环语句
- java的三种循环语句
- 循环求和——三种循环语句实现
- switch语句以及三种循环语句的总结
- javascript循环语句(三)
- 三种循环语句求1000以内的偶数和
- 存储过程,触发器,游标,if语句,三种循环
- 第三十三课 三种循环语句 【项目1-4】
- C语言中的三种循环语句及其使用方法
- 三种循环语句以及求绝对值 素数
- javaSE学习08_三种循环语句的区别
- Struts2 使用案例(操作流程)
- spring boot(六):如何优雅的使用mybatis
- 二叉树前序、中序、后序遍历
- ReactNative实现图集功能
- Android零基础入门第85节:Fragment使用起来非常简单
- lesson33 三种循环语句
- cf 6789 this one ttt
- 固态硬盘的了解
- tensorflow 的tensorboard使用
- 用redis实现支持优先级的消息队列
- SSH 端口转发实战
- 丑数-LintCode
- 李国杰院士:AI创业公司如何摆脱被收购的命运「附雷克世界专访」
- 不是技术大牛,如何拿到国内IT巨头的offer