学习循环语句for、while、do-while和continue、break语句的使用方法。用几个例题来说明(以下代码均用Visual Studio 2022 编写)
1.编写程序输出九九乘法表
分析:九九乘法表是一个九行的三角形表格,每一行规律是从1乘以某个数开始,一直乘到此行行号为止,从上向下,每一行的列数是不同的,规律是第i行就有i列。可以使用二重嵌套循环来实现。
#include<stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++)//外层循环
{
for (j = 1; j <= i; j++)//内层循环
{
printf("%d×%d=%d\t",i,j,i*j);
}
printf("\n");//内层循环每执行完一次输出一个换行
}
return 0;
}
2.求s=1+(1+2)+(1+2+3)+…..,并输出其结果
分析:先从键盘输入项数。例:n=3,外层循环三次,分别加上1+2+3,内层循环2次,加上1+1+2。哎,我也讲不清数,大概就是这个意思,嵌套循环一下,讲的不行,欢迎指正。
#include<stdio.h>
int main()
{
int i, j,n, s=0;
scanf_s("%d",&n);
for (i = 1; i <=n; i++)
{
for (j = 1; j <= i - 1; j++)
{
s += j;
}
s += i;
}
printf("s=%d",s);
return 0;
}
#include<stdio.h>
int main()
{
int n;
float t = 1, i;
float sum = 0;
scanf_s("%d", &n);
for (i = 1; i <= n; i++)
{
t *= 1 / i;
sum += t;
}
printf("计算后值为:%f", sum);
return 0;
}
此题一个循环即可,刚开始乱弄弄两个循环是不对滴。
分析:首先要有一个最外层循环,来保证输出的行数,并换行。第一个内循环,负责打空格,根据判断所得规律(当n=5,第一行有4个空格,一个数字;第二行3个空格,3个数字;由此判断,每行前应有n-i个空格;2n-1个数字)。第二个循环定义一个a=1;按顺序打印数字(n=5时,打印12345。此时a的值为5),循环结束后,进行a–;(让a的值变为4) 第三个循环,倒着打印(打印4321)。循环结束,此题完成。
#include<stdio.h>
int main()
{
int n,a,i,j;
printf("请输入整数n:");
scanf_s("%d",&n);
for (i = 1; i <= n;i++) {
for (j = 0; j < n-i;j++) {
printf(" ");
}
for (a = 1; a <= i; a++)
{
printf("%d", a);
}
a--;
for (a--; a >= 1; a--)
{
printf("%d", a);
}
printf("\n");
}
return 0;
}
分析:这题就随便看看吧,我也是抄书的,属实是太长了,其实也没那么难。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int x, i, guess;
i = 0;
srand(time(NULL));
x = rand() % 100 + 1;
printf("请你猜数:");
do {
scanf_s("%d", &guess); //输入
if (x < guess) //比较
{
printf("你猜大了!\n");
}
else
{
if (x > guess) //在比较
{
printf("你猜小了!\n");
}
else //以上皆不是表示相等
{
printf("你赢了!\n");
break; //猜对就终止猜数循环
}
}
i++;
if (i >= 10) //判断猜了几次
{
printf("随机数是:%d\n", x);
printf("你已经猜错10次了,我赢了,哈哈!");
break; //终止循环
}
printf("让你再猜:");
} while(1); //反复猜数
return 0;
}