69,369
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int main(void)
{
int i, j, k;
char letter;
printf("shuru:");
scanf_s("%c", &letter);
k = letter - 'A' + 1;
for (i = 0; i < k; i++)
{
for (j = 0; j < k - i; j++)printf(" ");
for (j = 0; j <= i; j++)printf("%c", 'A' + j);
for (j = i - 1; j >= 0; j++)printf("%c", 'A' + j);
printf("\n");
}
return 0;
}
#include <stdio.h>
int main(void)
{
int i, j, k;
char letter;
printf("shuru:");
scanf_s("%c", &letter, 1);
k = letter - 'A' + 1;
for (i = 0; i < k; i++)
{
for (j = 0; j < k - i; j++)
printf(" ");
for (j = 0; j <= i; j++)
printf("%c", 'A' + j);
for (j = i - 1; j >= 0; j--)
printf("%c", 'A' + j);
printf("\n");
}
return 0;
}
参考一下吧
for (j = i - 1; j >= 0; j--)
printf("%c", 'A' + j);
注意j--,你写成j++,会导致死循环和溢出;#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j, k;
char letter;
printf("shuru:");
scanf_s("%c", &letter,1);
k = letter - 'A' + 1;
for (i = 0; i < k; i++)
{
for (j = 0; j < k - i; j++)printf(" ");
for (j = 0; j <= i; j++)printf("%c", 'A' + j);
for (j = i - 1; j >= 0; j--)printf("%c", 'A' + j);
printf("\n");
}
system("pause");
return 0;
}
建议楼主参考下面的链接,学学scanf_s和scanf的区别
https://msdn.microsoft.com/en-us/library/w40768et.aspx