㈠ 怎樣用c語言編寫一個數字三角形
對於這一問題,很容易想到用枚舉的方法(深度搜索法)去解決,即列舉出所有路徑並記錄每一條路徑所經過的數字總和。然後尋找最大的數字總和,這一想法很直觀,很容易編程實現其程序如下:
program
sjx;
const
maxn=10;
var
a:array[1..maxn,1..maxn]
of
integer;
max:longint;
n,i,j:integer;
fname:string;
inputf:text;
procere
try(x,y,dep:integer;sum:longint);
begin
if
(dep=n)
then
begin
if
sum>max
then
max:=sum;
exit
end;
try(x+1,y,dep+1,sum+a[x+1,y]);
try(x+1,y+1,dep+1,sum+a[x+1,y+1]);
end;
begin
readln(fname);
assign(inputf,fname);
reset(inputf);
readln(inputf,n);
for
i:=1
to
n
do
for
j:=
1
to
i
do
read(inputf,a[i,j]);
max:=0;
try(1,1,1,a[1,1]);
writeln(max);
end.
但是當行數很大時,當三角形的行數等於100時,其枚舉量之大是可想而知的,用枚舉法肯定超時,甚至根本不能得到計算結果,必須用動態規劃法來解。
㈡ c語言 輸出數字三角形 1 212 32123 4321234 543212345
#include<stdio.h>
void main()
{ int i,j;
for ( i=0;i<5;i++ ) //一共輸出5行
{ for( j=0;j<4-i;j++ ) printf(" "); //輸出每行的前導空格
for ( j=0;j<i*2+1;j++ ) printf("%d",abs(j-i)+1); //輸出每行相應數字
printf("\n"); //每輸出一行換行
}
}
㈢ c語言輸出數字三角形
你要哪一種啊?
㈣ c語言輸出數字三角形
#include<stdio.h>
#include<conio.h>
#define N 10
int main()
{
int i,j,k ;
for(i=1;i<N;i++)
{
k=1 ;
printf("\n%d ",1) ;
for(j=1;j<i;j++)
{
k+=i ;
printf("%d ",k) ;
}
}
getch() ;
}
//宏 N 是行數,N=10就是輸出10行
//編譯環境VC6.0 VS2005
㈤ C語言程序輸出數字正三角
#include<stdio.h>
void PrintNumbers(int line)
{int i,j;
if(line<1){printf("輸入參數錯誤 "); return;}
for(i=1;i<=line;i++)
{for(j=0;j<line-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);
for(j-=2;j>0;j--)
printf("%d",j);
printf(" ");
}
}
int main()
{ int n;
scanf("%d",&n);
PrintNumbers(n);
return 0;
}
㈥ C語言 輸出數字三角形
C程序:
#include"stdio.h"
/*X:首數字,N:行數*/
voiddisplay(intX,intN)
{
inti,j;
for(i=0;i<N;i++)
{
/*輸出每一行的前導空格*/
for(j=0;j<N-1-i;j++)
printf("");
/*輸出數字部分的前一半(0..i)*/
for(j=0;j<=i;j++)
printf("%3d",X+i+j);
/*輸出數字部分的後一半(0..i-1)*/
for(j=0;j<i;j++)
printf("%3d",X+2*i-1-j);
printf(" ");
}
}
voidmain()
{
intX,N;
printf("inputfirstfigure:");
scanf("%d",&X);
printf("inputrows:");
scanf("%d",&N);
display(X,N);
}
運行測試:
㈦ 超簡單的C語言程序題 輸出一個正三角形
1、打開visual C++ 6.0軟體,准備好一個空白的c語言文件,首先引入預處理命令和主函數: