/*編程打印如下形式的楊輝三角形。打印的楊輝三角形的行數n(不超過15行)要求由用戶在主函數中通過鍵盤輸入*/
創新互聯建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站制作、網站建設、外貿網站建設、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的墨江網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
#include?stdio.h?
int?i,j,a[16][16]={0};/*定義全局變量*/
void?main()?
{
void?YHTriangle(int?n);/*聲明函數*/?
void?PrintYHTriangle(int?n);/*聲明函數*/?
int?n=0;???
while(n1?||?n15)???/*不超過15行*/?
{?
printf("請輸入楊輝三角形的行數:");?????
scanf("%d",n);???
}
YHTriangle(n);/*引用函數*/?
PrintYHTriangle(n);/*引用函數*/
}
void?YHTriangle(int?n)/*定義楊輝三角函數*/
{
for(i=0;in;i++)?????
a[i][0]=1;????????????????????????????
for(i=1;in;i++)?????
for(j=1;j=i;j++)???????
a[i][j]=a[i-1][j-1]+a[i-1][j];????
}
void?PrintYHTriangle(int?n)/*定義楊輝三角的輸出函數*/
{
YHTriangle(n);
for(i=0;in;i++)????????????????????
{?
for(j=0;j=i;j++)???????
printf("%5d",a[i][j]);?????
printf("\n");???
}?
}
代碼:
#includelt;stdio.hgt;
#define N 10
void setdata(int(*s)[N],int n){
int i,j;
for(i=0;ilt;n;i++)//第一列和對角線上的元素都置1
{
slt;igt;lt;igt;=1;slt;igt;[0]=1;
}
for(i=2;ilt;n;i++){//給楊輝三角形其他元素置數
for(j=1;jlt;i;j++){
slt;igt;[j]=s[i-1][j-1]+s[i-1][j];
}
}
}
void outdata(int s[][N],int n){
int i,j;
printf("楊輝三角形:\n");//只輸出矩陣下半三角
for(i=0;ilt;n;i++){
for(j=0;jlt;=i;j++){
printf("%6d",slt;igt;[j]);
}
printf("\n");
}
}
main(){
int y[N][N],n=7;
setdata(y,n);//按規律給數組元素置數
outdata(y,n);//輸出楊輝三角形
}
可以將楊輝三角形的值放在一個方形矩陣的下半三角中,如需打印7行楊輝三角形,應該定義等于或大于7x7的方形矩陣,只是矩陣的上半部分和其余部分并不使用。
楊輝三角形具有以下特點:
(1)第一列和對角線上的元素都為1;
(2)除第一列和對角線上的元素之外,其他的元素的值均為前一行上的同列元素和前一列元素之和。
方法二、
#includelt;stdio.hgt;
#define LINE 10
int main()
{
int arr[LINE][LINE]={0};
int i=0;
int j=0;
for(i=0;ilt;LINE;i++)
{
arrlt;igt;[0]=1;
arrlt;igt;lt;igt;=1;
}
for(i=2;ilt;LINE;i++)
{
for(j=1;jlt;i;j++)
{
arrlt;igt;[j]=arr[i-1][j-1]+arr[i-1][j];
}
}
for(i=0;ilt;LINE;i++)
{
for(j=0;jlt;(2*LINE-2*i);j++)
{
printf("");
}
for(j=0;jlt;=i;j++)
{
printf("%4d",arrlt;igt;[j]);
}
printf("\n");
}
return 0;
}
方法三、
#define _CRT_SECURE_NO_WARNINGS 1
#includelt;stdio.hgt;
int main()
{
int i,j,n=0;
//首先定義二維數組計數符號i,j還有楊輝三角行數的初始化
int a[100][100]={0,1};
//只有2個初值,即a[0][0]=1,a[0][1]=2,其余數組元素的初值均為0
//二維數組大小可自定,但切記不可使其超過整形數組的大小
while(nlt;1||ngt;100)
//在輸入的值不正確時自動初始化問題,重新輸入
{
printf("請輸入要打印的楊輝三角行數gt;:");
scanf("%d",n);
}
for(i=1;ilt;n;i++)//第一層循環i決定第幾行
{
for(j=1;jlt;=i;j++)//第二層循環借用i限制每行字符數目
{
alt;igt;[j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=1;ilt;n;i++)//一個for循環逐行打印叫a的二維數組
{
for(j=1;jlt;=i;j++)
printf("%5d",alt;igt;[j]);
printf("\n");
}
return 0;
#include stdio.h
void main()
{
int n,i,j;
printf("輸入n\n");
scanf("%d",n);
for(i=1;i=n;i++)
{
for(j=n-i;j0;j--)
printf(" ");
for(j=1;j=i;j++)
printf("%d ",j);
for(j=j-2;j0;j--)
printf("%d ",j);
printf("\n");
}
}
新聞名稱:go語言打印全三角形,C語言打印倒三角形
網址分享:http://m.newbst.com/article48/dsseghp.html
成都網站建設公司_創新互聯,為您提供靜態網站、自適應網站、網站導航、網站收錄、網頁設計公司、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯