輸出一個菱形(C語言)
@
目錄
說明
當你再鍵盤上輸入一個奇數a
時(若輸入偶數則自動減1),則會再屏幕上顯示腰長為a
的菱形(由*
組成).
效果展示
代碼實現
有興趣的可以將以下代碼復制到自己的編譯器當中運行:
#include <stdio.h>
int main(int argc, char **argv)
{
int i, j, h;
printf("輸入一個奇數:");
scanf("%d", &h);
if(h%2==0)
h=h-1;
for (i = 1; i <= h; i++)
{
if (i <= h / 2 + 1)
{
for (j = 1; j <= h / 2 + 1 - i; j++)
putchar(' ');
for (j = 1; j <= 2 * i - 1; j++)
putchar('*');
putchar('\n');
}
else
{
for (j = 1; j <= i - h / 2 - 1; j++)
putchar(' ');
for (j = 1; j <= 2 * h - 2 * i + 1; j++)
putchar('*');
putchar('\n');
}
}
return 0;
}
一點說明
當然你要是想要正菱形的話也是有辦法做的,方法是在每個putchar();
后面再輸出一個空格.效果如下:
當然我知道你懶得修改啦,這就給您安排上.展示如下:
#include <stdio.h>
//鍙互鍦ㄦ瘡涓猵utchar();鍚庡啀杈撳嚭涓€涓┖鏍間嬌涔嬫垚涓烘鑿卞艦
int main(int argc, char **argv)
{
int i, j, h;
printf("輸入一個奇數(不要太大哦):");
scanf("%d", &h);
if(h%2==0)
h=h-1;
for (i = 1; i <= h; i++)
{
if (i <= h / 2 + 1)
{
for (j = 1; j <= h / 2 + 1 - i; j++){
putchar(' ');
putchar(' ');
}
for (j = 1; j <= 2 * i - 1; j++){
putchar('*');
putchar(' ');
}
putchar('\n');
}
else
{
for (j = 1; j <= i - h / 2 - 1; j++){
putchar(' ');
putchar(' ');
}
for (j = 1; j <= 2 * h - 2 * i + 1; j++){
putchar('*');
putchar(' ');
}
putchar('\n');
}
}
return 0;
}