1.编写一个程序,在用户输入某个大写字母后,产生一个金字塔图案,例如输入字母E:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
C语言代码实现:
#include
/*
1***A
2**ABA
3*ABCBA
4ABCDCBA
*/
int main()
{
char tem;
int num,i,j;
printf("输入一个大写字母\n");
scanf("%c",&tem);
while(tem>90 || tem<65)
{
scanf("%c",&tem);
printf("你输入的不是大写字母,请重新输入!!!!\n");
}
num = tem-(90-26);
//三角形输出
for(i=1;
i<=num;
i++)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序字母
printf("%c",64+j);
for(j=j-2;
j>=1;
j--)//打印降序字母
printf("%c",64+j);
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
//下面是菱形输出=上正三角+下倒三角******************************************
//上部分,正三角形输出
for(i=1;
i<=num;
i++)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序字母
printf("%c",64+j);
for(j=j-2;
j>=1;
j--)//打印降序字母
printf("%c",64+j);
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
//下部分,倒三角形输出(比上正三角形少一行)
for(i=num-1;
i>=1;
i--)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序字母
printf("%c",64+j);
for(j=j-2;
j>=1;
j--)//打印降序字母
printf("%c",64+j);
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
return 0;
}
运行结果:
文章图片
2.编写一个程序,在用户输入一个正整数,产生一个金字塔图案,例如输入4:
1
121
12321
1234321
C语言代码实现:
#include
/*
****1
***121
**12321
*1234321
*/
int main()
{
int tem;
int num,i,j;
printf("输入一个2-9之间的正整数\n");
scanf("%d",&tem);
num = (int)tem;
//如果输入浮点型也要变成int型
//三角形输出
for(i=1;
i<=num;
i++)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序数字
printf("%d",j);
for(j=j-2;
j>=1;
j--)//打印降序数字
printf("%d",j);
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
//下面是菱形输出=上正三角+下倒三角******************************************
//上部分,正三角形输出
for(i=1;
i<=num;
i++)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序数字
printf("%d",j);
for(j=j-2;
j>=1;
j--)//打印降序数字
printf("%d",j);
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
//下部分,倒三角形输出(比上正三角形少一行)
for(i=num-1;
i>=1;
i--)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序数字
printf("%d",j);
for(j=j-2;
j>=1;
j--)//打印降序数字
printf("%d",j);
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
return 0;
}
运行结果:
文章图片
3.编写一个程序,在用户输入一个正整数,产生一个星星金字塔图案,例如输入5:
*
***
*****
*******
*********
C语言代码实现:
#include int main()
{
int tem;
int num,i,j;
printf("输入一个正整数\n");
scanf("%d",&tem);
num = (int)tem;
//如果输入浮点型也要变成int型
//三角形输出
for(i=1;
i<=num;
i++)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序
printf("*");
for(j=j-2;
j>=1;
j--)//打印降序
printf("*");
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
//下面是菱形输出=上正三角+下倒三角******************************************
//上部分,正三角形输出
for(i=1;
i<=num;
i++)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序
printf("*");
for(j=j-2;
j>=1;
j--)//打印降序
printf("*");
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
//下部分,倒三角形输出(比上正三角形少一行)
for(i=num-1;
i>=1;
i--)
{
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
for(j=1;
j<=i;
j++)//打印升序
printf("*");
for(j=j-2;
j>=1;
j--)//打印降序
printf("*");
for(j=1;
j<=num-i;
j++)//打印空格
printf(" ");
printf("\n");
//换行
}
return 0;
}
运行结果:
【C语言for循环打印各种字符三角形+菱形的方法】
文章图片