小蒜蒜最近学习了菱形(四边都相等的四边形)。
- 现在她给了你一个字符,希望你能用它构造一个对角线长 5 个字符,倾斜放置的菱形。
输入格式输入只有一行,包含一个字符。
输出格式该 字符 构成的 菱形。
样例输入 *
样例输出
*
***
*****
***
*
代码如下:
#include <stdio.h>
int main (void){
int a = 1;
int c = 1;
char b;
scanf("%c",&b);
for(a=1;a<=3;a++){
for(c=1;c<=3-a;c++){
printf(" ");
}
for(c=1;c<2*a;c++){
printf("%c",b);
}
printf("\n");
}
for(a=1;a<=2;a++){
for(c=1;c<a+1;c++){
printf(" ");
}
for(c=5;c>2*a;c--){
printf("%c",b);
}
printf("\n");
}
return 0;
}
emmmmmm
好像是有点麻烦啊,但是我觉得这个题和马里奥那个一样,所以我就稍微改了一下。
觉得麻烦的话,没关系简单的也有。
代码如下:
#include <stdio.h>
int main(void){
char a ;
scanf("%c",&a);
printf(" %c\n",a);
printf(" %c%c%c\n",a,a,a);
printf("%c%c%c%c%c\n",a,a,a,a,a);
printf(" %c%c%c\n",a,a,a);
printf(" %c\n",a);
return 0;
}
第一种方法总体分成了两个循环,因为我首先想到菱形应该是两个三角形拼成的,只不过是一个正放的,一个倒放的。第一层循环控制的是循环的行数,接下来的两个小循环分别控制打印空格和星号,空格应该是 2 ~ 1 ~ 0个,所以是3-a,也就是3-1,3-2,3-3。星号应该是1 ~ 3 ~ 5,循环的条件如果选择加法或者减法不太合适,1 ~ 3 ~ 5对应2~ 4 ~ 6,所以我们可以使用乘法,直接a*2。
第二种方法就不说了,注意数量对应就好了。
版权声明:本文为qq_44803574原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。