你第8行的for-x循環(huán),初始值a-1和終止值0都是常量,沒有變化,所以每次輸出的空格一樣多.
創(chuàng)新互聯(lián)建站-專業(yè)網站定制、快速模板網站建設、高性價比泰興網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式泰興網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋泰興地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。
第8行的for-x循環(huán),初始值應該是x=a-z;把這個地方改了,程序就對了.
完整的C++語言打印星號的程序如下(改動的地方見注釋)
#include?iostream
using?namespace?std;
int?main()
{
int?x;int?y;int?z;int?a;
a=5;
for(z=1;z=a;z++)
{
for(x=a-z;x0;x--)//這里x=a-1;改成x=a-z;
cout"?";
for(y=1;y2*z;y++)
cout"*";
coutendl;
}
return?0;
}
運行結果
無參函數
#include?stdio.h
#include?math.h
#define?n?3
void?f()
{
int?i,j,k;
for(i=1;i=2*n+1;i++)
{
j=abs(n+1-i);
for(k=1;k=j;k++)
printf("?");
for(k=1;k=2*n+1-2*j;k++)
printf("*");
printf("\n");
}?
}
int?main()
{
f();
}
有參函數
#include?stdio.h
#include?math.h
void?f(int?n)
{
int?i,j,k;
for(i=1;i=2*n+1;i++)
{
j=abs(n+1-i);
for(k=1;k=j;k++)
printf("?");
for(k=1;k=2*n+1-2*j;k++)
printf("*");
printf("\n");
}?
}
int?main()
{
f(3);
}
C語言輸出如題所示圖案的代碼如下:
#includestdio.h
int main( )
{
int x;
int i,j,k;
printf("請輸入,需要生成圖案的行數(單數):");
scanf("%d",x);
k=x/2+1;
for(i=1;i=k;i++)
{
for(j=0;j2*i-1;j++)
printf("*");
printf("\n");
}
for(i=k-1;i=1;i--)
{
for(j=0;j2*i-1;j++)
printf("*");
printf("\n");
}
}
擴展資料:
由題,需要輸出這樣一個圖像,可將其看為一個正三角形與倒三角形的組合。
且對于下圖:
*
***
*****
*******
*****
***
*
由行數與*號的關系可得,在對于總行數/2+1的部分,行數*2+1,即為*號的數目,因而得到了前半段圖形的代碼。
而對于后半部分的倒三角形,其行數可記為,倒數總行數/2...3、2、1行,則可利用循環(huán)以及2*行數-1,得到下半部分的圖像。
你的程序太長了。。我懶的看 直接寫了一個 你覺得怎樣
#includestdio.h
#includemath.h
main()
{ int i,j;
for(i=-3;i=3;i++)
{
for(j=0;jfabs(i);j++)
printf(" ");
printf("*");
for(j=0;j5-2*fabs(i);j++)
printf(" ");
if(!(i==-3||i==3))
printf("*");
printf("\n");
}
}
怕你不會用n帶,我又寫了一個n的版本。。
#includestdio.h
#includemath.h
main()
{ int i,j,n=11;
for(i=-n/2;i=n/2;i++)
{
for(j=0;jfabs(i);j++)
printf(" ");
printf("*");
for(j=0;jn-2*fabs(i)-2;j++)
printf(" ");
if(!(i==-n/2||i==n/2))
printf("*");
printf("\n");
}
}
算了 如果n是偶數我也幫你寫了吧
#includestdio.h
#includemath.h
main()
{ int i,j,n=11,f=0;
if(n%2==0)
{
f=1;n++;
}
for(i=-n/2;i=n/2;i++)
{
if(fi==0)
continue;
for(j=0;jfabs(i);j++)
printf(" ");
printf("*");
for(j=0;jn-2*fabs(i)-2;j++)
printf(" ");
if(!(i==-n/2||i==n/2))
printf("*");
printf("\n");
}
}
#include stdio.h
int main()
{
int i, j;
for(i = 0; i 10; i++)
{
for(j = i; j 10; j++)
printf("*");
printf("\n");
}
return 0;
}
#includestdio.h
main()
{ int N,a;
scanf("%d",N);
for(a=0;aN;a++)
printf("*");
getch();
}
這么寫就行了,你前面有很多沒用的還有些是程序布恩那個運行的