【发布时间】:2017-05-22 03:32:15
【问题描述】:
我的任务是从用户那里获取一个正整数,然后打印一个看起来像这样的三角形(例如整数 5):
1
1 2
1 3 5
1 4 7 10
1 5 9 13 17
这是我设法制作的代码:
int num, line,addition,sum,termNum;
printf("Enter a positive integer: ");
scanf("%d",&num);
printf("%d\n",1);
for (line=2;line<=num;line++)
{
addition = line-1;
termNum=1;
printf("%d ",termNum);
for (sum=2;sum<=line;sum++)
{
termNum+=addition;
printf("%d ",termNum);
}
printf("\n");
}
但是输出没有右对齐,看起来是这样的:
1
1 2
1 3 5
1 4 7 10
1 5 9 13 17
我无法创建函数或使用数组,只能使用循环和 if,以及各种控制字符,例如 %c %s %d %-12c 等... 变量类型必须是 int、double、char。 (不是字符串或 char* 等)
有什么想法吗? 谢谢。
【问题讨论】:
-
我们不是homwork服务。如果只有一种打印空格的方法...
-
@Olaf 我尝试了大约 2 小时后来到这里...我可以打印这样的空格: char s = ' ' ; printf("%c",s);但是我怎么知道每行需要多少?
-
如果有一种方法可以重复一个或多个语句......在编程中,人们应该在询问之前考虑......