首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

算法分析解决思路

2012-02-12 
算法分析#include stdio.hintmain(){inti,j,kfor(i0i 3i++){for(j1j 3j++){if(j i+1)printf(

算法分析
#include <stdio.h>
int   main()
{
        int   i,j,k;
        for(i=0;i <3;i++)
        {
                for(j=1;j <=3;j++)
                {
if(j <i+1)
                printf( "   \t ");
else
                printf( "%d\t ",i*3+j);
                }
                printf( "\n ");
        }
        return   0;
}
该算法实现输出方阵上三角,并保证形状不变。
原本输出是直角三角形,可否在此基础上实现输出等腰直角三角形,用c语言能不能实现?
j <=3,i*3+j都是怎么来的,有人能说说来胧去脉吗?

[解决办法]
#include <stdio.h>
int main()
{
int i,j,k;
for(i=0;i <3;i++) // i控制行数
{
for(j=1;j <=3;j++) // 控制列数
{
if(j <i+1) //控制前面的跳格
printf( " \t ");
else
printf( "%d\t ",i*3+j); //输入数以及跳格..
}
printf( "\n ");
}
return 0;
}

/*
i*3+j;i代表行数,一行有三个数,所以*3,j代表当前列数,为了与我们平常习惯相同,所以他从1开始计,如果从0开始计的话
for(j=0;j <3;j++)
....
if(j <i)
..
printf( "%d\t ",i*3+j+1);


明白了吗?
*/

热点排行