(小白求助)一段简单代码的输出
请问这个代码的输出是怎么样的鸭?这里的循环我没能搞懂……#include<stdio.h>
main()
{ int i, j, n=4, a;
for(i=1; i <= n; i++){
a = i;
a = i;
}
for(i=1; i<= n; i++)
for(j=1; j <= i; j++)
a = i*j;
for(j=1; j<=n; j++)
printf("%4d", a);
printf("\n");
for(i=1; i<=n; i++){
for(j=1; j<=i; j++)
printf("%4d", a);
printf("\n");
}
}
哪个循环不懂? 你那个程序有点乱
整理一下你应该就能看懂了
#include<stdio.h>
main()
{
int i, j, n=4, a;
for(i=1; i <= n; i++){
a = i;
a = i;
}
for(i=1; i<= n; i++)
{
for(j=1; j <= i; j++)
{
a = i*j;
}
}
for(j=1; j<=n; j++)
{
printf("%4d", a);
}
printf("\n");
for(i=1; i<=n; i++)
{
for(j=1; j<=i; j++)
{
printf("%4d", a);
}
printf("\n");
}
}
这里的for循环的意思就是:先把i赋值1,如果i<=n,那么就执行循环,执行完以后i+1(i++),如果还是i<=n,那就再执行循环,以此类推,直到i>n为止 liuzhengyuan 发表于 2020-4-20 12:13
你那个程序有点乱
整理一下你应该就能看懂了
所以这里的输出,其实是只有两行嘛? qiuyouzhi 发表于 2020-4-20 12:06
哪个循环不懂?
原题目是这样子的:
(21)程序运行时,第2行输出 (21) 。
A. 1 1 B. * 1 2 3 4 C. 1 2 3 4 D.1
(22)程序运行时,第3行输出 (22) 。
A.0 1 B.2 2 4 C. 1 2 D.24
(23)程序运行时,第4行输出 (23) 。
A.3 6 9 B.1 2 3 4 C. 3 3 6 9 D.3 3 6
(24)程序运行时,第5行输出 (24) 。
A. 481216B. 4481216C. 12345D. 16128
但我总觉得它只有两行输出…… 悠悠2264 发表于 2020-4-20 12:19
这里的for循环的意思就是:先把i赋值1,如果i
啊啊不好意思 是我没有表述清楚
原题目是这个样子的:
(21)程序运行时,第2行输出 (21) 。
A. 1 1 B. * 1 2 3 4 C. 1 2 3 4 D.1
(22)程序运行时,第3行输出 (22) 。
A.0 1 B.2 2 4 C. 1 2 D.24
(23)程序运行时,第4行输出 (23) 。
A.3 6 9 B.1 2 3 4 C. 3 3 6 9 D.3 3 6
(24)程序运行时,第5行输出 (24) 。
A. 481216B. 4481216C. 12345D. 16128
但我总觉得它只有两行输出…… Marcccccy 发表于 2020-4-20 17:08
所以这里的输出,其实是只有两行嘛?
三行吧~ liuzhengyuan 发表于 2020-4-20 18:18
三行吧~
欸 那这题目是得咋整……{:10_266:} int i, j, n=4, a;
for(i=1; i <= n; i++){
a = i;
a = i;
运行完之后: a
a = [,,,,]
for(i=1; i<= n; i++)
{
for(j=1; j <= i; j++)
{
a = i*j;
}
}
这段 运行完之后 a:
a = [,,,,]
接下来是打印的 第一段代码 是
for(j=1; j<=n; j++)
{
printf("%4d", a);
}
打印的是a
1,2,3,4
第二段打印的
for(i=1; i<=n; i++)
{
for(j=1; j<=i; j++)
{
printf("%4d", a);
}
i= 1,j=1
i=2,j=1,j=2
i=3,j=1,j=2,j=3
i=4,j=1,j=2,j=3,j=4
a 的值为
a = [,,,,]
打印出来的就是
a :1
a,a :2,4
a,a,a :3,6,9
a,a,a,a :4,8,12,16 LuLD 发表于 2020-4-22 20:24
int i, j, n=4, a;
for(i=1; i
dbq,才看到帖子……明白辽,谢谢你!{:10_287:}
页:
[1]