當前位置:首頁 » 編程語言 » c語言自製金字塔
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言自製金字塔

發布時間: 2022-11-28 14:35:14

① 請用c語言編寫字母金字塔

推薦答案有錯誤,其輸出結果為:
A
B B
C C C
而你要的是:
A
B B B
C C C C C

回答者: linghuxiaocong 的也不對,缺少輸入

我把推薦的改了下,符合你的要求
#include<stdio.h>
int main()
{ int i,j,n;
scanf("%d",&n);
while(n>=1)
{if(n>26)n=26;
for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)printf(" ");
for(j=1;j<=2*i-1;j++)printf("%c ",i+'A'-1);
printf("\n");}
scanf("%d",&n);
}
system("PAUSE");
}

② 求C語言金字塔代碼思路!

  1. 這個圖形有幾行,就做幾次循環,每次循環列印一行:for ( i=0;i<N;i++ ),N=3

    注意i在3行中取值:0,1,2

  2. 循環體中輸出每行,每行的構成:分為前邊的空格和後面的星號

  3. 每行的空格計數:第1行(i=0)空格數2,第2行(i=1)空格數1,第3行(i=2)空格數0

    那麼在i循環中用i表示的空格數就是:總行數-當前行數-1=N-i-1

    在i循環中新開一個循環來輸出空格,循環幾次輸出幾個空格

  4. 每行的星號計數:第1行(i=0)星號數1,第2行(i=1)星號數3,第3行(i=2)星號數5

    那麼在i循環中用i表示的星號數就是:當前行數*2+1=i*2+1

    在i循環中新開一個循環來輸出星號,循環幾次輸出幾個空格

  5. 最後每行需要一個換行符號輸出

最終你的程序為:

for ( i=0;i<n;i++ ) //這里n是行數

{ for ( j=0;j<n-i-1;j++ ) printf(" "); //可根據不同圖形更換j的循環結束條件公式

for ( j=0;j<i*2-1;j++ ) printf("*"); //可根據不同圖形更換j的循環結束條件公式

printf(" ");

}

這樣,這種問題就變成了三個公式的總結問題:行數、空格數、星號數,總結出來套到程序中相應位置即可。總結是可以把i的值、空格的值、星號的值列出來,用一點序列的知識就可歸納出公式。

行號 0,1,2

空格 2,1,0 總行號-行號

星號 1,3,5 行號*2-1,這是等差數列

③ 請問金字塔用C語言怎麼編寫

給,已經編譯運行確認:
#include<conio.h>
#include<stdio.h>

int main()
{
int n,i,j,k;
printf("input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(k=1;k<=2*(n-i);k++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d ",j);
for(j=i-1;j>0;j--)
printf("%d ",j);
printf("\n");
}

getch();
return 1;
}

④ c語言要求輸入一個字母,輸出字母金字塔,要怎麼做

#include<stdio.h>

int main()

{int i,j;

char n;

printf("請輸入一個大寫字母:");

scanf("%c",&n);

for(i=0;i<=n-'A';i++)

{for(j=0;j<n-'A'-i;j++)

printf(" ");

for(j=0;j<=i;j++)

printf("%c",j+'A');

for(j=i-1;j>=0;j--)

printf("%c",j+'A');

printf(" ");

}

return 0;

}

⑤ 如何用c程序進行編寫字母金字塔。。。

#include<stdio.h>
#include<stdlib.h>

voidprintblank(inti,intn);//列印每行的空格
voidprintch(intn);//列印字母

intmain()
{
intn;
loop:printf("輸入你要金字塔層數n(<10):");
scanf("%d",&n);/*輸入金字塔的層數*/
if(n>0&&n<10)/*判斷輸入的層數有沒溢出*/
{
printch(n);//列印金字塔
}
else
{
printf("您的輸入有誤0<n<27 ");
gotoloop;
}
return0;
}
voidprintblank(inti,intn)/*列印每層前半部和後半部的空格*/
{
while(n-(i++)-1>0)
{
printf("");
}
}

voidprintch(intn)
{
inti,j;
charstr;
printf("%d層字母金字塔: ",n);
for(i=0;i<n;i++)
{
printblank(i,n);//列印每層前半部分面的空格
for(j=0,str='A';j<2*(i+1)-1;j++)
{
if(j>=i)
printf("%c",str--);
else
printf("%c",str++);
}
printf(" ");//換行
}
}

⑥ 如何用c語言編寫這個數字金字塔

#include
void main()
{
int i,j;
for (i=1;i<=3;++i) // 控制金字塔的層數,本例輸出3層,可以改變輸出任意層
{
for (j=1;j<=3-i;++j) // 控制金字塔每層前面輸出的空格數
printf(" ");
for (j=1;j<=2*i-1;++j) // 控制金字塔每層需要列印'*'的個數
printf("*");
printf("\n"); // 一層金字塔輸出完畢,換行繼續輸出下一層
}
}

⑦ C語言只用for循環製作字母金字塔!!

以下是代碼:

#include<stdio.h>

voidmain()
{
inti,j;
charc;
scanf("%c",&c);
for(i=0;i<5;i++)
{
for(j=4-i;j>0;j--)
printf("");
for(j=0;j<=i;j++)
printf("%c",c+j);
for(j=i;j>0;j--)
printf("%c",c+j-1);
for(j=4-i;j>0;j--)
printf("");
printf(" ");
}
}

以下是運行截圖:

滿意請採納!

⑧ 怎麼用c語言中的二維數組完成字母金字塔

字母金字塔有很多種形式,不過輸出的原理都是差不多的。

不用二維數組即可實現。如果用二維數組,就是把字母先寫到二維數組中,再一次性輸出。

以下以一個比較復雜的字母金字塔為例說明:

#include<stdio.h>

intmain()
{
chara[26][26];
intn;
inti,j;
chart;
scanf("%d",&n);
if(n>26||n<=0)return-1;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
a[i][j]='';
t='A'+i;
for(;j<n;j++)
a[i][j]=t--;
t='B';
for(;j<n+i;j++)
a[i][j]=t++;
a[i][j]=0;
}
for(i=0;i<n;i++)
puts(a[i]);
return0;
}

輸入10的時候,效果是

⑨ 用c語言編寫星型金字塔

#include<stdio.h>
voidmain()
{
inta=0,b=4,c=1,d;
for(a=0;a<3;a++)
{
for(d=0;d<4;d++)putchar('');
for(d=0;d<c;d++)putchar('*');
for(d=0;d<4;d++)putchar('');
b-=2;
c+=2
}
}