输出以下列形式给出:
OUTPUT :
0
111
22222
3333333
... up to 9.
我给出的任务是使用嵌套的for
循环为此输出编写代码。
我最接近弄清楚的是:
#include <stdio.h>
#include <conio.h>
int main()
{
int x=0, y=0, z=0;
for (x=1; x<=9; x=x+1)
{
printf("\n");
for (y=0; y<=10; y=y+1)
{
for(z==y; y<x; y++)
{
printf("%d", x);
}
}
}
}
我还被指示&#34;不要使用数组或其他解决这个问题的方法。&#34;
我无法弄清楚我的错误。帮助将不胜感激。
此计划的输出位于:https://i.stack.imgur.com/IfNPe.png
答案 0 :(得分:4)
迭代所有数字(x
),同时将打印数量y
)增加2,从1
(see online)开始:
for (int x = 0, y = 1; x <= 9; x++, y += 2)
{
for (int z = 0; z < y; z++)
printf("%d", x);
printf("\n");
}
我会说
for (int x = 0; x <= 9; x++) {
for (int y = 0; y < x * 2 + 1; y++)
printf("%d", x);
printf("\n")
}
更优雅,但跟随它可能有点棘手。
答案 1 :(得分:1)
那就是:
int main()
{
int x, y, z;
printf("0");
for (x=1, y=3; x<=9; x++, y+=2)
{
printf("\n");
for (z=y; z; z--)
{
printf("%d", x);
}
}
}
输出:
0
111
22222
3333333
444444444
55555555555
6666666666666
777777777777777
88888888888888888
9999999999999999999