字母金字塔:
#include<stdio.h>
int main()
{
char op,i,j;
int s;
printf("請輸入一個字母,作為金字塔最底部的字母:");
s=scanf("%c",&op);
if(op<97)
{
for(i=65;i<=op;i++)
{
for(j=0;j<=op-i;j++)
{
printf(" ");
}
for(j=65;j<=i;j++)
{
printf("%c",j);
}
for(j=i-1;j>=65;j--)
{
printf("%c",j);
}
printf("\n");
}
}
else
{
for(i=97;i<=op;i++)
{
for(j=0;j<=op-i;j++)
{
printf(" ");
}
for(j=97;j<=i;j++)
{
printf("%c",j);
}
for(j=i-1;j>=97;j--)
{
printf("%c",j);
}
printf("\n");
}
}
return 0;
}
/*這是答案的解法
#include <stdio.h>
int main()
{
int i,j,num;
char c , h='A';
scanf("%c",&c);
num=c - 'A' + 1;
for(i=1;i<=num;i++)
{
for(j=0;j<num-i;j++)
printf(" ");
for(h='A';j<num;j++)
printf("%c",h++);
for(j=1,h -= 2;j< i;j++,h--)
printf("%c",h);
printf("\n");
}
return 0;
}
*/
主代碼是可以輸入大小寫的
注釋的是一種輸入大寫的另一種解法
下面是效果:
請輸入一個字母,作為金字塔最底部的字母:z
a
aba
abcba
abcdcba
abcdedcba
abcdefedcba
abcdefgfedcba
abcdefghgfedcba
abcdefghihgfedcba
abcdefghijihgfedcba
abcdefghijkjihgfedcba
abcdefghijklkjihgfedcba
abcdefghijklmlkjihgfedcba
abcdefghijklmnmlkjihgfedcba
abcdefghijklmnonmlkjihgfedcba
abcdefghijklmnoponmlkjihgfedcba
abcdefghijklmnopqponmlkjihgfedcba
abcdefghijklmnopqrqponmlkjihgfedcba
abcdefghijklmnopqrsrqponmlkjihgfedcba
abcdefghijklmnopqrstsrqponmlkjihgfedcba
abcdefghijklmnopqrstutsrqponmlkjihgfedcba
abcdefghijklmnopqrstuvutsrqponmlkjihgfedcba
abcdefghijklmnopqrstuvwvutsrqponmlkjihgfedcba
abcdefghijklmnopqrstuvwxwvutsrqponmlkjihgfedcba
abcdefghijklmnopqrstuvwxyxwvutsrqponmlkjihgfedcba
abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba
Press any key to continue
如有錯誤,請指出,謝謝