㈠ 怎样用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语言文件,首先引入预处理命令和主函数: