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

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

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. think in java笔记_Thinking in java读书笔记 PDF 下载
  2. Git初学札记(九)————EGit检出远程分支
  3. solr通过连接数据库删除document 总结
  4. url里面的参数不能带特殊字符
  5. 4Python全站之路系列之正则表达式re模块
  6. 机器学习基础(三十四)—— 协同过滤(之获得推荐)
  7. 来自汽车行业的20个优秀的汽车推广网站
  8. 163Editor 编辑器概览
  9. 秋叶一键重装系统连接服务器失败,小熊教你如何解决一键重装系统失败问题
  10. 陀螺仪、加速计、磁力计
  11. 01336软件项目管理复习
  12. U盘装系统教程,一键安装和U盘安装的区别
  13. Flutter安装时你一定会碰到的问题
  14. 什么是 web API? DOM和BOM
  15. 从李嘉诚先生那里得到的
  16. SHA 256算法是什么?哈希算法有哪些特点,主要应用在哪里?
  17. win 安装mysql
  18. 【USACO Open11】forgot
  19. 汽车行业中XCP协议和A2L文件–XCP概述
  20. No core dump will be written. Minidumps are not enabled by default on client versions of Windows错误

热门文章

  1. 从年终奖看待美国留学热门专业就业薪酬
  2. 深入透析springboot加载之spring-boot-maven-plugin,应该是目前最详细的讲解了
  3. 上链行动|李银科致辞 2019国际区块链产融峰会启动
  4. Python3 L11
  5. 发票查询API助力“两票制”实施
  6. error: template with C linkage
  7. hive建表create table xxx as select的问题
  8. Oracle Advanced Queue (DBMS_AQ/DMBS_AQADM)
  9. 【工作复盘】2021年二月份工作复盘——2021年2月28日
  10. 【工作复盘】2020年10月8日 9月份工作复盘