❶ 請問金字塔用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語言金字塔代碼思路!
這個圖形有幾行,就做幾次循環,每次循環列印一行: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語言程序代碼
/*
2013年12月29日 18:33:34
目的:金字塔
*/
#include<stdio.h>
int main(void)
{
int i, j, k;
for(i=1; i<=5; i++) //構建一個五行的金字塔
{
for(j=1; j<=5-i; j++) //這里的j是控制每行的空格個數,第一行就輸入5-1個空格,以此類推
printf(" ");
for(k=1; k<=2*i-1; k++) //這里的k是控制每行星號的輸出個數,就是第一行輸出2*1-1個,第二行輸出2*2-1個星號,以此類推
printf("*");
printf("\n"); //每行列印星號完了後換行,來重新開頭列印第二層、第三層、第四層、第五層金字塔
}
return 0;
}
❹ 怎麼用c語言輸出金字塔圖形
用c語言輸出金字塔圖形程序如下:
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
void main(){
char a;
int i,j,k,l,m,temp;
scanf("%c",&a);
while(isalpha(a))
{
temp=toupper(a)-'A'+1;
for(i=1;i<=temp;i++)
{
for(j=1;j<=temp-i;j++)
printf(" ");
for(k=0;k<i;k++)
printf("%c",'A'+k);
for(l=i;l>0;l--)
{
if(l==1) break;
else printf("%c",'A'+l-2);
}
for(m=1;m<=temp-i;m++)
printf(" ");
printf("
");
}
break;
}
system("pause");}
拓展資料:
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器以及超級電腦等作業平台。
❺ 怎麼用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()
{
charzm[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
inti,j,k=0;
for(i=0;i<26;i++)
{
for(j=25-i;j>=0;j--)
printf("");
for(j=0;j<=i;j++)
{
printf("%c",zm[j]);
if(j<i)
printf("_");
}
printf(" ");
}
}
運行結果如圖所示