该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

循环结构例题讲解以及各种图形(三角形及菱形等)输出案例:

1、 输入一周七天的温度,然后求出该周平均温度并打印

double sum = 0.0;

double temperature = 0.0;

for (int i = 1; i <= 7; i ++) {

printf("请输入第%d天温度:",i);

scanf("%lf", & temperature);

sum += temperature;

}

printf("平均温度为:%lf",sum/7);

2、给定一个数学表达式,然后求出其结果。数学表达式如下所示:

0 – 1 + 2 – 3 + 4 – 5 + 6 …… - 99 + 100

解法1: 偶数和 - 奇数和

这里省略

解法2:偶数相加,奇数相减

int result = 0;

for (int i = 0; i <= 100; i ++) {

if (i % 2 == 0) {//偶数

result += i;

} else {//奇数

result -= i;

}

}

printf("result = %d\n",result);

解法3:按符号位进行加减

int sign = 1;//保存符号位 1 或则 -1

int sum = 0;//保存结果

for (int i = 0; i <= 100; i ++) {

sum += i * sign;

sign = - sign;

}

printf("sum = %d",sum);

3、打印出0--10之间偶数,以及这些偶数的平方及立方值

for (int i = 0; i <= 10; i ++) {

if (i % 2 == 0) {

printf("%d %d\n", i * i, i * i * i);

}

}

4、输出n个连续的偶数,n为输入的值,如 n = 3,输出 0 2 4

int n = 0;

printf("请输入n的值:");

scanf("%d", &n);

//判定n是否为正数

if (n > 0) {

解法1:按照分支判断,只输出偶数,奇数不输出

for (int i = 0; i < 2 * n - 1; i ++) {

if (i % 2 == 0) {//判断输出输出偶数

printf("%d ",i);

}

}

解法2:按照自然数乘以2均为偶数的方式

for (int i = 0; i < n; i ++) {

printf("%d ", 2 * i);

}

解法3:按照偶数+2均为偶数的方式

for (int i = 0; i < 2 * n; i += 2) {

printf("%d ", i);

}

} else {

printf("error");

}

5、输入两个正整数,求得两个数之间所有整数的和,例如,n1 = 3, n2 = 10;结果sum = 3 + 4 + 5 + 6…+ 10 = 52;

int start = 0, end = 0, sum = 0;

printf("请输入开始和结尾数字,中间用空格隔开:");

scanf("%d %d", &start, &end);

for (int i = start; i <= end; i ++) {

sum += i;

}

printf("sum = %d", sum);

6、依次输入几个数据,直到0作为输入的结束,然后求出输入的这些数据的总和及平均值(结束循环,使用break)

解法1:

int number = 0;//接收输入的数

double sum = 0.0;

int count = 0;//记录个数

while (1) {

printf("请输入:");

scanf("%d", &number);

//判断

if (number == 0) {

break; //跳出

}

count ++;//次数累加

sum += number;//和

}

//解法2:

do {

printf("请输入:");

scanf("%d", &number);

count ++;

sum += number;

} while (number != 0);

count --;

printf("sum = %lf,平均值:%lf,count = %d",sum, sum/count, count);

7、使用do…while循环实现银行登录示例

/*

* 设定输入的固定密码;

* 提示用户输入密码;

* 如果用户输入错误,提示请重新输入,三次均错误,提示用户,“输入失败”;

* 如果用户输入正确,提示“登录成功”

*/

int password = 123456;

int pw = 0;

int count = 1;

do {

printf("请输入密码:");

scanf("%d", &pw);

if (pw == password) {

printf("登陆成功\n");

break;

} else {

printf("输入错误,请重新输入\n");

}

count ++;

} while (count <= 3);

if (count > 3) {

printf("输入失败");

}

8、Chuckie Lucky赢了100W美元,他把它存入一个每年盈利8%的账户。在每年的最后一天,Chuckie取出10W美元。编写一个程序,计算需要多少年Chuckie就会清空他的账户。(不考虑一天的盈利情况)

double sum = 100;

int count = 0;

while (1) {

if (sum < 0) {

break;

}

sum += sum * 0.08;

sum -= 10;

count ++;

printf("count = %d ,剩余 %.2f\n",count, sum);

}

9、 任何一个自然数m的立方均可写成m个连续奇数之和。例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 编程实现:输入一自然数n,求组成n的3次方的n个连续奇数。

int n = 2;

for (int i = n * (n - 1) ; i <= n * (n + 1) ; i ++) {

if (i % 2 != 0) {

printf("%d ", i);

}

}

10、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

double height = 100;

double sum = 100;

for (int i = 2; i < 11; i ++) {

height /= 2;

sum += 2 * height;

printf("第%d次反弹高度为:%lf,落地时经过距离为:%lf\n",i - 1, height, sum);

}

printf("第10次反弹高度为:%lf",height / 2);

11、打印输出9*9乘法表

for (int i = 1; i < 10; i ++) {

for (int j = 1; j <= i; j ++) {

printf("%d * %d = %2d ",i, j, i * j);

}

printf("\n");

}

12、编写程序,求e的值,e≈1+1/1!+1/2!+1/3!+1/4!+…

(1)用for循环,计算前50項。

(2)用while循环,要求直至最后一项的值小于10的-6次方。

第(1)小问:

double number = 1;

double sum = 1;

for (int i = 2; i < 50; i ++) {

//分子 1

//分母

double denominator = 1;

for (int j = 1; j < i ; j ++) {

denominator *= j;

}

sum += number / denominator;

}

printf("%lf", sum);

第(2)小问

double denominator = 1;//分母

double sum = 1;//和

int n = 1;//记录当前阶乘数据

while (1/denominator > 10e-6) {

sum += 1/denominator;

denominator *= n;

n ++;

}

printf("sum = %lf", sum);

13、水仙花数:水仙花数是指一个 n 位数 ( n 大于等于 3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1的3次方 + 5的三次方 + 3三次方 = 153)。根据这个要求,打印所有三位数的水仙花数。

解法1:

for (int a = 1; a <= 9; a ++) {

for (int b = 0; b <= 9; b ++) {

for (int c = 0; c <= 9; c ++) {

if (a * a * a + b * b * b + c * c * c == a * 100 + b * 10 + c) {

printf("%d%d%d\n",a,b,c);

}

}

}

}

解法2:

for (int i = 100; i <= 999; i ++) {

//分解

int a = i / 100; //百位

int b =( i / 10) % 10;//十位

int c = i % 10;//个位

if (a * a * a + b * b * b + c * c * c == a * 100 + b * 10 + c) {

printf("%d%d%d\n",a,b,c);

}

}

14、打印三角形,如下图

*

***

*****

*******

*****

***

*

7 - 2 * |i|

解题方式:按照中间对称式,中间设为0,往上递增,往下递减,依次找出空格与*号的规律;

for (int i = -3; i <= 3; i ++) {

//空格

int number = i > 0 ? i : (-1) * i;

for (int j = number; j > 0; j --) {

printf(" ");

}

//*号

for (int k = 1; k <= 7 - 2 * number; k ++) {

printf("*");

}

printf("\n");

}

15、编写出下面图形

1

2 3

4 5 6

7 8 9 0

int n = 1;//标记数量

for (int i = 0; i < 4; i ++) {

//打印空格

for (int j = 0; j < 3 - i; j ++) {

printf(" ");

}

// * 号

for (int k = 0; k < i + 1; k ++) {

printf("%d ", n ++ % 10);

}

printf("\n");

}

16、打印出如下图形

*****

****

***

**

*

for (int i = 1; i <= 5; i ++) {

//空格

for (int j = 1; j < i ; j ++) {

printf(" ");

}

//*号

for (int k = 0; k <= 5 - i; k ++) {

printf("*");

}

printf("\n");

}

17、

1

121

12321

1234321

123454321

for (int i = 1; i <= 5; i ++) {

//空格

for (int j = 0; j < 5 - i; j ++) {

printf(" ");

}

//数字

int n = -1;

for (int k = 1; k < 2 * i; k ++) {

if (k <= i) {

printf("%d", k);

n ++;

} else {

printf("%d", n);

n --;

}

}

printf("\n");

}

18、

A

ABA

ABCBA

ABCDCBA

ABCDEDCBA

for (int i = 1; i <= 5; i ++) {

//空格

for (int j = 0; j < 5 - i; j ++) {

printf(" ");

}

//数字

int n = -1;

for (int k = 1; k < 2 * i; k ++) {

if (k <= i) {

printf("%c", k + 64);

n ++;

} else {

printf("%c", n + 64);

n --;

}

}

printf("\n");

}

19、

*******

*****

***

*

***

*****

*******

for (int i = -3; i <= 3; i ++) {

//空格

int number = i > 0 ? i : (-1) * i;

for (int j = 1; j <= 3 - number; j ++) {

printf(" ");

}

//*号

for (int k = 1; k <= 2 * number + 1; k ++) {

printf("*");

}

printf("\n");

}

20、

*

* *

* *

* *

* *

* *

*

for (int i = -3; i <=3; i ++) {

int n = i > 0 ? i : - i;

for (int j = 0; j < n; j ++) {

printf(" ");

}

for (int k = 0; k < 7 - n; k ++) {

if (k == 0 || k == 6 - n - n) {

printf("*");

} else {

printf(" ");

}

}

printf("\n");

}

c语言while循环语句例题,C语言循环例题讲解相关推荐

  1. 【C语言】循环语句(do while循环)

    简单不先于复杂,而是在复杂之后. 目录 do while循环 do 语句的用法 执行流程 do语句的特点 go to语句 do while循环 do 语句的用法 while循环和for循环都是入口条件 ...

  2. php循环语句w,php语言的几种循环语句的使用格式,及其区别

    while 只要指定的条件成立,则循环执行代码块 do...while 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for 循环执行代码块指定的次数 foreach 根据数组中每个元素来循 ...

  3. c语言的循环语句试讲,C语言循环语句基础入门教学(一)

    C 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推. 编程语言提供了更为复杂执行路径的多种控制结构. 循环语句允许 ...

  4. R语言for循环语句编程:for循环遍历向量内容并修改向量内容

    R语言for循环语句编程:for循环遍历向量内容并修改向量内容 目录 R语言for循环语句编程:for循环遍历向量内容并修改向量内容

  5. php语言while循环语句,PHP循环语句用法之while循环

    PHP循环语句用法之while循环 计算机对于重复性的工作是很有一套解决办法的,以下百分网小编整理的PHP循环语句用法之while循环的介绍吧,希望对大家有所帮助,更多信息请关注应届毕业生网! 计算机 ...

  6. python有几种循环语句_[14] Python循环语句(一)

    1. 概述 今天我们介绍循环语句,和条件判断一样,我们从流程图开始看起.首先看一下学习计划列表,粗体为已学,斜体为新增或修改内容.计算机编程的原理简要介绍 集成开发环境PyCharm 变量名.数字.字 ...

  7. do...while循环语句、死循环、循环的嵌套、Break、Continue

    1.do-while循环语句 格式: do{ 循环执行体 }while(循环条件); 注意该循环和while循环的区别: 当首次的循环条件结果是false,那么while循环的执行体是不执行的, 但是 ...

  8. Java循环语句练习(for循环、while循环、do-while循环)

    Java循环语句常见练习 for循环.while循环.do-while循环的应用 循环语句出现初衷:简化代码的书写. 一般情况下,循环结构应该有四个部分:初始化语句;条件表达式;循环体;循环变量控制语 ...

  9. 循环语句在c语言中的作用是什么,C语言中循环语句的使用

    C语言中的循环语句 在C语言中,有三种类型的循环语句: for语句.while语句和do While语句. 分别介绍如下: 1.for循环语句 for语句格式为: for(表达式1;表达式2;表达式3 ...

  10. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

最新文章

  1. storm入门教程 第一章 前言[转]
  2. (转)Android 使用com.j256.ormlite
  3. flask_入门教程之一
  4. mac下快速搭建php开发环境,鸟枪换大炮,Mac下快速搭建PHP开发环境mamp的使用
  5. 按压缩格式整理打包(解包)和压缩(解压)命令
  6. 软件需求分析文档模板_小议管理软件需求分析
  7. 95后频频离职,是员工本人问题?
  8. linux+qt使用assimp库进行模型加载
  9. 香农公式说明了什么_香农公式理解
  10. wow私服,arcemu trunk源码编译架设
  11. dayjs格式化使用
  12. 全国公众服务电话号码
  13. 【NLP项目-文本分类】划分测试集,训练集,验证集
  14. android 手势放缩_手把手教你打造支持手势放大缩小的ImageView
  15. System.Web.Caching.Cache
  16. 第08讲:既生 Synchronized,何生 ReentrantLock
  17. Oracle的基础知识点汇总
  18. Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
  19. Qt增加webp格式支持
  20. 图像算法 |单一全景图中高效的恢复三维结构

热门文章

  1. 魔兽世界服务器显示排队中,魔兽世界怀旧服:服务器显示为中也要排队,暴雪耍的小聪明露馅了...
  2. 横板格斗类游戏实战:战斗核心玩法
  3. 学校私有云盘在学校信息化建设中的作用-教学资源库平台
  4. Eclipse设置类和方法的注释模板
  5. iOS安全入门与进阶
  6. 微信小程序——自定义组件的使用以及组件之间的传值
  7. 川希:如何打造个人IP让别人信任,主动追着我们付钱!
  8. 计算机科学有多难,自考计算机专业有多难?
  9. 上传文件限制文件大小的解决方法
  10. C语言语法复习-猜数小游戏