1.编写一个程序,在用户输入某个大写字母后,产生一个金字塔图案,例如输入字母E:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
C语言代码实现:
#include <stdio.h>
/*
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 <stdio.h>
/*
****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 <stdio.h>
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;
}
运行结果:

还没有评论,来说两句吧...