c语言while循环语句例题,C语言循环例题讲解
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
循环结构例题讲解以及各种图形(三角形及菱形等)输出案例:
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语言循环例题讲解相关推荐
- 【C语言】循环语句(do while循环)
简单不先于复杂,而是在复杂之后. 目录 do while循环 do 语句的用法 执行流程 do语句的特点 go to语句 do while循环 do 语句的用法 while循环和for循环都是入口条件 ...
- php循环语句w,php语言的几种循环语句的使用格式,及其区别
while 只要指定的条件成立,则循环执行代码块 do...while 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for 循环执行代码块指定的次数 foreach 根据数组中每个元素来循 ...
- c语言的循环语句试讲,C语言循环语句基础入门教学(一)
C 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推. 编程语言提供了更为复杂执行路径的多种控制结构. 循环语句允许 ...
- R语言for循环语句编程:for循环遍历向量内容并修改向量内容
R语言for循环语句编程:for循环遍历向量内容并修改向量内容 目录 R语言for循环语句编程:for循环遍历向量内容并修改向量内容
- php语言while循环语句,PHP循环语句用法之while循环
PHP循环语句用法之while循环 计算机对于重复性的工作是很有一套解决办法的,以下百分网小编整理的PHP循环语句用法之while循环的介绍吧,希望对大家有所帮助,更多信息请关注应届毕业生网! 计算机 ...
- python有几种循环语句_[14] Python循环语句(一)
1. 概述 今天我们介绍循环语句,和条件判断一样,我们从流程图开始看起.首先看一下学习计划列表,粗体为已学,斜体为新增或修改内容.计算机编程的原理简要介绍 集成开发环境PyCharm 变量名.数字.字 ...
- do...while循环语句、死循环、循环的嵌套、Break、Continue
1.do-while循环语句 格式: do{ 循环执行体 }while(循环条件); 注意该循环和while循环的区别: 当首次的循环条件结果是false,那么while循环的执行体是不执行的, 但是 ...
- Java循环语句练习(for循环、while循环、do-while循环)
Java循环语句常见练习 for循环.while循环.do-while循环的应用 循环语句出现初衷:简化代码的书写. 一般情况下,循环结构应该有四个部分:初始化语句;条件表达式;循环体;循环变量控制语 ...
- 循环语句在c语言中的作用是什么,C语言中循环语句的使用
C语言中的循环语句 在C语言中,有三种类型的循环语句: for语句.while语句和do While语句. 分别介绍如下: 1.for循环语句 for语句格式为: for(表达式1;表达式2;表达式3 ...
- 单片机c语言中的循环语句,单片机c语言教程:C51循环语句
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...
最新文章
- think in java笔记_Thinking in java读书笔记 PDF 下载
- Git初学札记(九)————EGit检出远程分支
- solr通过连接数据库删除document 总结
- url里面的参数不能带特殊字符
- 4Python全站之路系列之正则表达式re模块
- 机器学习基础(三十四)—— 协同过滤(之获得推荐)
- 来自汽车行业的20个优秀的汽车推广网站
- 163Editor 编辑器概览
- 秋叶一键重装系统连接服务器失败,小熊教你如何解决一键重装系统失败问题
- 陀螺仪、加速计、磁力计
- 01336软件项目管理复习
- U盘装系统教程,一键安装和U盘安装的区别
- Flutter安装时你一定会碰到的问题
- 什么是 web API? DOM和BOM
- 从李嘉诚先生那里得到的
- SHA 256算法是什么?哈希算法有哪些特点,主要应用在哪里?
- win 安装mysql
- 【USACO Open11】forgot
- 汽车行业中XCP协议和A2L文件–XCP概述
- No core dump will be written. Minidumps are not enabled by default on client versions of Windows错误
热门文章
- 从年终奖看待美国留学热门专业就业薪酬
- 深入透析springboot加载之spring-boot-maven-plugin,应该是目前最详细的讲解了
- 上链行动|李银科致辞 2019国际区块链产融峰会启动
- Python3 L11
- 发票查询API助力“两票制”实施
- error: template with C linkage
- hive建表create table xxx as select的问题
- Oracle Advanced Queue (DBMS_AQ/DMBS_AQADM)
- 【工作复盘】2021年二月份工作复盘——2021年2月28日
- 【工作复盘】2020年10月8日 9月份工作复盘