C语言输入行数和字母,输出大写字母等腰三角形
时间: 2023-06-20 18:04:35 浏览: 247
下面是一个示例程序,可以实现输入行数和字母,输出大写字母等腰三角形:
```c
#include <stdio.h>
int main() {
int n;
char ch;
printf("请输入行数和字母(中间用空格隔开):");
scanf("%d %c", &n, &ch);
for (int i = 1; i <= n; i++) {
// 输出空格
for (int j = 1; j <= n - i; j++) {
printf(" ");
}
// 输出字母
int count = 2 * i - 1;
for (int j = 1; j <= count; j++) {
printf("%c", ch);
}
printf("\n");
}
return 0;
}
```
在这个程序中,我们首先使用 `scanf` 函数读取用户输入的行数和字母。然后使用两个嵌套的循环来输出等腰三角形,其中外层循环控制行数,内层循环控制每一行的空格和字母。具体来说,我们首先输出一定数量的空格,使得字母处于三角形的中间位置,然后输出相应数量的字母,最后换行进入下一行的输出。
相关问题
题目内容: 输入行数和起始字母,输出大写字母等腰三角形。输出的字母是循环的,即递增到字母 'Z' 以后输出 'A' ;递减到字母 'A' 以后输出 'Z'。例如: 输入: 4[空格]X[回车] 输出:c语言代码[空格][空格][空格]X[回车] [空格][空格]YZY[回车] [空格]ZABAZ[回车] ABCDCBA[回车] 输入样例: 4 X 输出样例: X YZY ZABAZ ABCDCBA
以下是C语言代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int n;
char start;
printf("请输入行数和起始字母(用空格分隔):");
scanf("%d %c", &n, &start);
int i, j, k = 0;
for (i = 1; i <= n; i++) {
// 输出空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 输出字母
for (j = 1; j <= 2 * i - 1; j++) {
if (isupper(start)) {
printf("%c", start + k);
k++;
if (start + k > 'Z') {
k = -('Z' - start);
}
} else {
printf("%c", start - k);
k++;
if (start - k < 'A') {
k = -('A' - start);
}
}
}
printf("\n");
}
return 0;
}
```
程序首先读入行数和起始字母,然后使用两个循环分别输出每一行的空格和字母。字母的输出需要考虑循环的情况,使用变量 k 记录当前字母与起始字母的差值,当超出字母表时需要重新循环。
C语言 输入一个正整数n(n<7),输出n行由大写字母A开始构成的三角形字符阵列图形
```
#include <stdio.h>
int main()
{
int n;
printf("请输入一个正整数n(n<7):");
scanf("%d", &n);
int i, j, k;
for (i = 1; i <= n; i++) // 控制行数
{
for (j = 1; j <= n - i; j++) // 控制每行前面的空格数
{
printf(" ");
}
for (k = 1; k <= i; k++) // 控制每行字母的输出
{
printf("%c", 'A' + k - 1);
}
for (k = i - 1; k >= 1; k--) // 控制每行字母的输出
{
printf("%c", 'A' + k - 1);
}
printf("\n"); // 换行
}
return 0;
}
```
阅读全文