1、上三角:
#include<stdio.h>
intmain()
{
inti,j,result
printf("\n")
for(i=1i<10i++)
{
for(j=1j<=ij++)
{
result=i*j
printf("%d*%d=%-3d",i,j,result)/*-3d表示左对齐,占3位*/
}
printf("\n")/*每一行后换行*/
}
}
2、下三角:
#include<stdio.h>
intmain()
{
inti,j
for(i=1i<=9i++)
{
for(j=1j<=9j++)
{
if(j<i)
//打印八个空格,去掉空格就是左上三角形
printf("")
else
printf("%d*%d=%2d",i,j,i*j)
}
printf("\n")
}
return0
}
扩展资料
C语言杨辉三角
#include<stdio.h>
intmain()
{
inta[10][20],i,j
for(i=0i<10i++)
for(j=0j<20j++)
a[i][j]=0
for(i=0i<10i++)
{
for(j=0j<=ij++)
{
if(j<1)
a[i][j]=1
elseif(i==0)
break
else
a[i][j]=a[i-1][j-1]+a[i-1][j]
}
}
for(i=0i<10i++)
{
for(j=0j<=ij++)
printf("%4d",a[i][j])
printf("\n")
}
return0
}
如果我没记错,上三角应该是指主对角线以下全是0的方阵,那这样的话,只要令主对角线以下置零就好了,主要分析点就是:主对角线以下,行数比列数大。
最终实现程序如下,键盘录入矩阵数据,最后打印出上三角:
#include <iostream>using namespace std
#define N 5 //可通过改变此值修改方阵行列数
int a[N][N]={0}
int main()
{
int row = 0
int col = 0
for(row=0row<Nrow++)
{
for(col=0col<Ncol++)
{
cout << "请输入第 " << row+1 << " 行,第 " << col << " 列数:"
cin >> a[row][col]
}
cout << endl//换行区分录入下一行
}
for(row=0row<Nrow++)
{
for(col=0col<Ncol++)
{
/*行数大于列数输出0,否则输出实际值*/
if(row > col)
cout << "0 "
else
cout << a[row][col] << " "
}
cout << endl//打印完一行之后换行
}
return 0
}
如理解有误欢迎提问,望采纳!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)