【发布时间】:2014-10-03 19:46:46
【问题描述】:
我正在尝试制作一个将字符串数组打印为三角形的程序。我在网上查看过,只能找到它作为一个数字数组,当我对其进行编码时,会在垂直线上打印出来,如下面的输出所示。我是编程新手,所以请善待。我正在寻找这种类型的三角形。
m y n a m
e i s b
r a n
d o
n
我的代码是这样的:
#define CHAR 25
main()
{
char string[CHAR] = "";
int i = 0, k = 0, j = 0;
printf("Please enter your name\n");
printf("**********************\n\n");
fgets(string, CHAR, stdin);
puts(string);
pause;
cls;
for (i = 1; i <= CHAR; i++)//start of triangle
{
for (j = 1; j < i; j++)
printf(" ");
for (k = i; k <= CHAR; k++){
printf("%c ", string[i]);
printf("\n");
}
}//end of triangle
对于这样一个愚蠢的问题,我很可能会得到一个糟糕的评价,但任何方向都会很棒。即使它是一个“嘿,白痴,你为什么要这样做......”感谢所有的帮助!
这是输出
即字符串名称是'tom'
输出:
o
o
o
o
o
m
m
m
m
然后是停顿上方的奇怪符号字符。我显然还无法发布照片,但这就是它的表现。
【问题讨论】:
-
输出是什么样的?它是
int main(void) -
请分享你从编译器得到的错误,如果它是一个编译问题(我不怀疑它是)。
-
for (j = i; j 什么都不做。 i 总是假的。
-
另外请不要在单行声明多个变量。由于您是初学者,它会阻止您执行将索引变量声明为 char 之类的事情 - 这很可能会导致溢出:-]
-
我真的为所有的混乱道歉。林仍然得到使用论坛和诸如此类的窍门。我更正了问题和代码以及示例名称的输出。再次感谢大家的帮助。
标签: c arrays string char geometry