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