c语言中的循环语句的作业,C语言中的循环语句练习

注:练习题目均出自《明解C语言 入门篇》

一、do语句

1,求多个整数的和及平均值

#include

int main(void)

{int sum = 0; //和

int cnt = 0; //整数个数

int retry; //判断是否继续

do{intt;

printf("请输入一个整数:");

scanf("%d",&t);

sum= sum +t;

cnt= cnt + 1;

printf("是否继续?

scanf("%d",&retry);

}while(retry == 0);

printf("和为%d,平均值为%.2f。n",sum,(double)sum /cnt);return 0;

}

1652121fceb577fd827902865f6ff7a3.png

二、whie语句

1,递增显示从0到输入的正整数为止的各个整数

#include

int main(void)

{inti,n;

printf("请输入一个正整数:");

scanf("%d",&n);

i= 0;while(i <=n)

printf("%d",i++); //i的值在显示之后递增

printf("n");return 0;

}

f22ee3d58dbaf8afdb3c80b8c5f167a2.png

2,编写一段程序,按照升序显示出小于输入值的所有正偶数

#include

int main(void)

{inti,n;

printf("请输入一个正整数:");

scanf("%d",&n);

i= 0;while(i <=n){

i= i + 2;if(i < n) //应先对递增后的值进行判断,看是否越界

printf("%d",i);

}

printf("n");return 0;

}

11569b2203f87638434052145eed499f.png

3,编写一段程序,使之交替显示+和-,总个数等于所输入的整数值

#include

int main(void)

{intnum;int i=0;

printf("正整数:");

scanf("%d",&num);while (i

putchar('+');elseputchar('-');

}return 0;

}

361dbfdaeb8f97a40c53e892fb584b16.png

4,逆向显示正整数

#include

int main(void)

{intn;do{

printf("请输入一个正整数:");

scanf("%d",&n);if(n <= 0)

puts("请不要输入非正整数。");

}while(n <= 0);

printf("该整数逆向显示的结果是");while(n > 0){

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

n/= 10;

}

puts("。");return 0;

}

29df4f0ccf5db0c118b3143746b101ff.png

三、for语句

1,编写一段程序,根据输入的整数,循环显示1234567890,显示的位数和输入的整数值相同

#include

int main(void)

{inti,j,n;

j=1;

printf("请输入一个整数:");

scanf("%d",&n);for(i=0;i

printf("%d",j);

j++;if(j>9)

j-=10;

}

printf("n");return 0;

}

7b2f6d6d698b0047a4b669e10f46e935.png

2,编写一段程序,显示出身高和标准体重的对照表。注:显示的身高范围和间隔由输入的整数值进行控制,标准体重精确到小数点后两位。

#include

intmain() {int beginHigh = 0, endHigh = 0;float weight = 0;int margin = 0;

printf("开始数值(cm):");

scanf("%d", &beginHigh);

printf("结束数值(cm):");

scanf("%d", &endHigh);

printf("间隔值(cm):");

scanf("%d", &margin);for (int i = beginHigh;i <= endHigh; i+=margin) {

weight= (i - 100)*0.9; //这是一个计算标准体重的公式

printf("%d cmtt%.2fn", i, weight); //t代表制表符,相当于按下一次Tab键

}return 0;

}

279bc9cd1a007991d54bb636486c013f.png

3,显示输入的整数值的所有约数

#include

int main(void)

{inti,n;

printf("整数值:");

scanf("%d",&n);for(i = 1;i <= n;i++)if(n % i == 0)

printf("%d",i);

putchar('n');return 0;

}

251975fb58161c8b0250183e46b823c5.png

4,编写一段程序,输入一个整数值,显示该整数值个' * '。每显示5个就进行换行。

#include

intmain()

{

printf("请输入整数:");inta;

scanf("%d",&a);int b=0;for(int i=0;i

{if(b==5)

{

printf("n");

b=0;

}

printf("*");

b=b+1;

}

}

2728fc5be5fe74727f0d3a08524337be.png

四、多重循环

1,显示九九乘法表

#include

int main(void)

{inti,j;for(i = 1;i <= 9;i++){for(j = 1;j <= 9;j++)

printf("%3d",i *j);

putchar('n');

}return 0;

}

2c6790aca5182c1ac8511d80ae514c2e.png

2,编写一段程序,为九九乘法表增加横纵标题

#include

intmain()

{inti, j ;//打印第一行

printf("|") ;for(i = 1; i <= 9; i++)

{

printf("%d", i) ;

}

printf("n") ;//打印第二行

for(i = 1; i <= 32; i++)

printf("-") ;

printf("n") ;//开始打印99乘法表,每行开头要有行号

for(i = 1; i <= 9; i++)//行

{

printf("%d |", i) ;for(j = 1; j <= 9; j++)//列

{

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

}

printf("n") ;

}return 0;

}

eff04b8c4f5fe5bd4c74353bf6e0d5d5.png

3,画一个长方形

#include

int main(void)

{inti,j;intheight,width;

puts("让我们来画一个长方形。");

printf("高:"); scanf("%d",&height);

printf("宽:"); scanf("%d",&width);for(i = 1;i <= height;i++) { //长方形有height行

for(j = 1;j <= width;j++) //每行显示width个

putchar('*');

putchar('n'); //换行

}return 0;

}

3152111c8ff0a89cc73039fe6902113a.png

4,(1)显示直角在左下方的等腰直角三角形

#include

int main(void)

{inti,j,len;

puts("直角在左下方的等腰直角三角形。");

printf("边长:");

scanf("%d",&len);for(i = 1;i <= len;i++){for(j = 1;j <= i;j++)

putchar('*');

putchar('n');

}return 0;

}

6156833d6960931d583311d8ebcf05c3.png

(2)显示直角在右下方的等腰直角三角形

#include

int main(void)

{inti,j,len;

puts("直角在左下方的等腰直角三角形。");

printf("边长:");

scanf("%d",&len);for(i = 1;i <= len;i++){for(j = 1;j <= len-i;j++)

putchar(' ');for(j = 1;j <= i;j++)

putchar('*');

putchar('n');

}return 0;

}

(3)显示直角在左上方的等腰直角三角形

#include

intmain()

{inti,j,len;

puts("直角在左下方的等腰直角三角形。");

printf("边长:");

scanf("%d",&len);for (int i = 1; i<=len; i++) {for (int j = 1; j <=len-i+1; j++) {

putchar('*');

}

putchar('n');

}return 0;

}

(4)显示直角在右上方的等腰直角三角形

#include

intmain()

{inti,j,len;

puts("直角在左下方的等腰直角三角形。");

printf("边长:");

scanf("%d",&len);for (int i = 1; i<=len; i++) {for (int j = 1; j <=i; j++) {

putchar(' ');

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

putchar('*');

}

putchar('n');

}return 0;

}

5,编写一段程序,输入一个整数,显示出输入整数层的金字塔形状

提示:第 i 行显示 (i - 1)* 2 + 1 个 ' * '

#include "stdio.h"

int main(int argc, char const *argv[])

{intn;

puts("让我们来描绘一个金字塔。");

printf("金字塔有几层:"); scanf("%d",&n);for (int i = 1;i<=n; i++) {for (int j = 1; j<=n-i; j++) {

putchar(' ');

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

putchar('*');

}for (int j=1; j

putchar('*');

}

putchar('n');

}return 0;

}

d29cb2ffa9b8a3fab560b07b7414fe3b.png

金字塔变形(1)

#include

intmain()

{inti,j,n;

puts("让我们来描绘一个金字塔。");

printf("金字塔有几层:"); scanf("%d",&n);for(i=1;i<=n;i++)

{for(j=0;j

printf(" ");for(j=1;j<2*i;j++)

printf("%d",i);

printf("n");

}return 0;

}

c6f045b60c59bf5f627ae0ba18728691.png

金字塔变形(2)

#include

intmain()

{inti,j,n;

puts("让我们来描绘一个金字塔。");

printf("金字塔有几层:"); scanf("%d",&n);for(i=1;i<=n;i++)

{for(j=0;j

printf(" ");for(j=1;j<=i;j++)

printf("%d",j);for(j=i-1;j>0;j--)

printf("%d",j);

printf("n");

}

}

04d63900de712a8ee666f46778158cda.png

总结

循环是C语言的基础,所以要扎实练习,孰能生巧。在此列举一些注意事项:

注意区分while语句和do-while语句,前者是先判断后执行,后者是先执行后判断。

do语句的循环体至少会执行一次,而while语句的循环体则有可能一次也不会执行。

注意不要在for语句和while语句的()后放置空语句。

do语句的循环体,即使是单一语句,也可以用{ }括起来使之成为复合语句(程序块),这样程序会易读。

内容来源于网络如有侵权请私信删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值