c語言金字塔
『壹』 請問金字塔用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語言 字母金字塔
可以用ascii碼,對巴,來個循環
先讓i=0,循環n次,i++
輸出寫('A'+i),具體的細節自己寫吧,要不沒意思了,呵呵
『叄』 c語言字母金字塔
#include<stdio.h>
main()
{
int n,i,j,k;
printf("Input n:");
scanf("%d",&n);
if(n==1)
{
printf("A\n");
}
else
{
k=2*(n-1);
for(i=0;i<n;i++)
{
for(j=0;j<k;j++)
{
printf(" ");
}
k-=2;
for(j=0;j<i;j++)
{
printf("%c ",'A'+j);
}
for(j=i-2;j>=0;j--)
{
printf("%c ",'A'+j);
}
printf("\n");
}
}
}
要善用搜索
『肆』 C語言 數字金字塔
給,已經編譯運行通過:
#include<conio.h>
#include<stdio.h>
voidmain()
{
intn;//這個就是定義的你需要輸出的行數
inti,j;
printf("pleaseinputthen:");
scanf("%d",&n);//輸入需要輸出的行數
for(i=0;i<n;i++)
{
for(j=0;j<2*(n-1-i);j++)printf("");
for(j=0;j<=i;j++)printf("%d",j+1);
for(j=0;j<2*i-1;j++)printf("");
for(j=i+1;j>0;j--)
{
if(i==0)break;
printf("%d",j);
}
printf(" ");
}
getch();
}
給你一個運行的截圖
『伍』 c語言程序輸出數字金字塔
給,已經編譯運行通過:
#include<conio.h>
#include<stdio.h>
void main()
{
int n;//這個就是定義的你需要輸出的行數
int i,j;
printf("please input the n: ");
scanf("%d",&n);//輸入需要輸出的行數
for(i=0;i<n;i++)
{
for(j=0;j<2*(n-1-i);j++) printf(" ");
for(j=0;j<=i;j++) printf("%d",j+1);
for(j=0;j<2*i-1;j++) printf(" ");
for(j=i+1;j>0;j--)
{
if(i==0) break;
printf("%d",j);
}
printf("\n");
}
getch();
}
『陸』 C語言話金字塔
列印一行5顆星你會不?(*****)
for(i=1; i<=5;i++) // 循環列印5顆星
{ prinft("*"); }
--------------------------------------------------
列印下面這張圖你會不?(5行5顆星)就是在上面的基礎上在來一個循環
for(j=1;j<=5;j++) //外層循環
{
for(i=1; i<=5;i++) // 循環列印5顆星
{ prinft("*"); }
printf("\n");
}
-----------------------------------------------------
現在說你的圖
其實就是把一部分星星換成空格列印而已。所以,上一步的外層循環內 要分兩步:列印空格+列印5顆星(+列印回車)
代碼就是你給的那個,我不重復了。至於裡面的數量關系的規律,你可以從簡單到復雜的琢磨下就是了
是否可以解決您的問題?
『柒』 求C語言金字塔代碼思路!
這個圖形有幾行,就做幾次循環,每次循環列印一行:for ( i=0;i<N;i++ ),N=3
注意i在3行中取值:0,1,2
循環體中輸出每行,每行的構成:分為前邊的空格和後面的星號
每行的空格計數:第1行(i=0)空格數2,第2行(i=1)空格數1,第3行(i=2)空格數0
那麼在i循環中用i表示的空格數就是:總行數-當前行數-1=N-i-1
在i循環中新開一個循環來輸出空格,循環幾次輸出幾個空格
每行的星號計數:第1行(i=0)星號數1,第2行(i=1)星號數3,第3行(i=2)星號數5
那麼在i循環中用i表示的星號數就是:當前行數*2+1=i*2+1
在i循環中新開一個循環來輸出星號,循環幾次輸出幾個空格
最後每行需要一個換行符號輸出
最終你的程序為:
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語言。金字塔*,求解釋。
列印一行5顆星你會不?(*****)
for(i=1;i<=5;i++)//循環列印5顆星
{prinft("*");}
--------------------------------------------------
列印下面這張圖你會不?(5行5顆星)就是在上面的基礎上在來一個循環
for(j=1;j<=5;j++)//外層循環
{
for(i=1;i<=5;i++)//循環列印5顆星
{prinft("*");}
printf(" ");
}
-----------------------------------------------------
現在說你的圖
其實就是把一部分星星換成空格列印而已。所以,上一步的外層循環內要分兩步:列印空格+列印5顆星(+列印回車)
代碼就是你給的那個,我不重復了。至於裡面的數量關系的規律,你可以從簡單到復雜的琢磨下就是了
『玖』 如何用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語言中數字金字塔
函數pyramid中語句for(j=1;j<=n-i;j++) printf(" "),這兩句語句控制和輸出字母前的空格。