打印菱形图案
1.菱形图案
输入格式:
输入在一行中给出一个正的奇数n。
输出格式:
输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
输入样例:
7
输出样例:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
代码长度限制 | 16 KB |
---|---|
时间限制 | 400 ms |
内存限制 | 64 MB |
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,j,k;
for(i=1;i<=n/2+1;i++){
for(j=1;j<=n/2+1-i;j++){
printf(" ");//这里有两个空格
}
for(k=1;k<=2*i-1;k++){
printf("* ");
}
printf("\n");
}
for(i=1;i<=n/2;i++){
for(j=1;j<=i;j++){
printf(" ");//这里也一样
}
for(k=1;k<=n-2*i;k++){
printf("* ");
}
printf("\n");
}
}
2.空心字符菱形
本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。
输入格式:
输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。
输出格式:
输出空心字符菱形。
输入样例:
B 5
输出样例:
B
C C
D D
C C
B
代码长度限制 | 16 KB |
---|---|
时间限制 | 400 ms |
内存限制 | 64 MB |
#include<stdio.h>
int main()
{
int n;
char letter;
int flag=0;
letter=getchar();
scanf("%d",&n);
for(int i=1;i>0;){
for(int j=0;j<((n+1)/2-i);j++){
printf(" ");
}
if(i==1){
printf("%c",letter);
}else{
printf("%c",letter+i-1);
for(int k=0;k<2*i-3;k++){
printf(" ");
}
printf("%c",letter+i-1);
}
if(i==(n+1)/2||flag==1){
i--;
flag=1;
}else{
i++;
}
printf("\n");
}
}