C语言问题,急需答案。多谢!!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 23:26:46
接收用户输入的一个大写字母,如“C”,要求输出如下字母金字塔,其中“_”代表空格:
__A
_ABA
ABCBA

具体要求:
(1) 容许接收多次输入,直到输入为“0 (零)”;
(2) 如果输入非大写字母,则给出提示,并要求重新输入;

#include <stdio.h>

void main()
{
char ch;
int m,i,j;
while(1)
{
do
{
printf("input a char\n");
scanf("%c",&ch);
}while(ch <'A'&&ch >'Z');
if(ch=='0')break;
}
m = ch -'A';
for(i=0;i<=m;i++)
{
for(j=0;j<=m-i;j++)
putchar(' ');
for(j=0;j<=i;j++)
{
ch = 'A' + j;
putchar(ch);
}
for(j=i-1;j>=0;j--)
{
ch = 'A' + j;
putchar(ch);
}
putchar('\n');
}
}
}

#include<iostream>
using namespace std;

void fun(char c);
void main(void)
{
char c;
while(1)
{
scanf("%c",&c);
if(c=='0')
break;
if(c>='a'&&a<='z')
{
printf("Error input, retry!\n");
continue;
}