Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中生成不同类型的三角形?_C - Fatal编程技术网

如何在C中生成不同类型的三角形?

如何在C中生成不同类型的三角形?,c,C,这个问题很基本,但我需要学习它才能通过大学里的第一次编程考试,所以任何帮助都是非常感谢的。 到目前为止,我只能做由星星组成的正常的金字塔形三角形,高度取决于输入,这表明我的知识是多么有限 我需要学习的是如何制作由不同字符组成的三角形,而不是用于循环的星形,例如: 对于n=7 ABCDEFG HIJKLM 诺普克 斯图夫 WXY ZA B 或者使用十六进制 0 12 345 6789 ABCDE F01234 56789AB 任何额外的帮助都将不胜感激,但代码本身也同样好,因为我需要弄清楚如何用重

这个问题很基本,但我需要学习它才能通过大学里的第一次编程考试,所以任何帮助都是非常感谢的。 到目前为止,我只能做由星星组成的正常的金字塔形三角形,高度取决于输入,这表明我的知识是多么有限

我需要学习的是如何制作由不同字符组成的三角形,而不是用于循环的星形,例如:

对于n=7

ABCDEFG HIJKLM 诺普克 斯图夫 WXY ZA B

或者使用十六进制

0
12
345
6789
ABCDE
F01234
56789AB

任何额外的帮助都将不胜感激,但代码本身也同样好,因为我需要弄清楚如何用重复的字母表或其他符号代替星星


谢谢

我将首先定义要显示的字符串

const char* LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char* HEX = "0123456789ABCDEF";
然后,通过索引这些字符串,对其长度进行模化,您可以轻松访问所需的字符,如下所示:

char c;
const int LETTERS_LEN = strlen(LETTERS);
for (int i = 0; i < N; i++) {
    c = LETTERS[i % LETTERS_LEN];
    // place c in your triangle
}
charc;
const int LETTERS_LEN=strlen(字母);
对于(int i=0;i
i%LETTERS\u LEN
使
i
定期从
0
LETTERS\u LEN-1
取值,这正是您需要的(如果我正确理解了您的示例)

另一种解决方案是使用“A”ASCII码是65这一事实,您可以只做
c=65+i%26
,但我编写的解决方案更通用,您可以定义任何您想要的字符集


注意:我已经有一段时间没有使用纯C了,我可能把初始化部分搞错了。如果您遇到编译错误,只需使用
#定义字母“ABC…”

我不会为您编写完整的程序,因为这是一个家庭作业。听起来你已经画好了三角形,你只需要帮助你如何使用不同的字符。我可能会创建一个字符数组:

char symbols[] = "0123456789ABCDEF";
然后从0开始创建索引指针:

int index = 0;

然后,当您使用
symbols[index]
绘制符号时,只需增加
index
,并进行检查以确保它没有超出长度。如果是的话,你可以将
索引
重置回
0

你可以编写一个程序,通过使用数字0到25的循环将字符“a”打印到“Z”上,并且事实上“a”的ASCII值是65?很遗憾,我不能,我甚至不知道从哪里开始谢谢,这会有帮助的!非常感谢,这是一个好的开始。我仍然需要找到一种方法将数组字符与实际的traingle链接起来,但是你的帮助可以挽救生命