此代碼是在Dev C++環境下編寫的。該代碼能夠輸出任意行數和字符的菱形以及三角形(可經過修改部分代碼),邏輯性比較嚴謹,並且能夠知足測試者的需求,比起用數組而後賦值給數組要實惠的多。若是你可以想到用這種方法來解決這類圖形,那你的算法能夠勝人一籌了,並且你的思惟是適合發展軟件這個領域的。算法
#include<stdio.h>
#include<stdlib.h>
main()
{
int n,i,k,j;
char ch;
//n是行數,ch表明所要輸出的字符
printf("輸入所要打印的行數n和字符ch\n");
scanf("%d %c",&n,&ch);
for(i=1;i<=(n+1)/2;i++)
{
for(k=1;k<=(n+1)/2-i;k++)
printf(" ");//打印出每行的空格
for(j=1;j<=2*i-1;j++)
printf("%c",ch);//打印出所要打印的字符
printf("\n");
}//打印出上半部分的圖形
for(i=1;i<=n/2;i++)
{
for(k=1;k<=i;k++)
printf(" ");
for(j=1;j<=2*((n-1)/2-i)+1;j++)
printf("%c",ch);
printf("\n");
}
system("pause");
return 0;
}數組