(OJ #864 二重循环I)
题目描述
输入一个正整数n,输出n行,每行都是从1到n的所有正整数。
输入描述
一个正整数n(1≤n≤10)。
输出描述
共n行,每行是从1到n的所有正整数。整数间用一个空格隔开,行末不允许有多余的空格。
难点!!!!
整数间用一个空格隔开,行末不允许有多余的空格。
解决方法!!!!
设置一个判断,假设n=3,当j循环为1和2是,只输出j+空格;当j循环输出为3,也就是n时,再输出n+"\n"(换行符)。从而实现行末没有多余空格
#include<stdio.h>
void main(){
int n;
int i;
int j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=1;j<=n;j++)
if(j/n!=1)
printf("%d ",j);
else
printf("%d\n",j);
}
}
(OJ #865 二重循环II)
题目描述
输入一个正整数n,输出n行,其中第i行为从1到i的所有正整数。
输入描述
一个正整数n(1≤n≤10)。
输出描述
共n行,其中第i行为从1到i的所有正整数。整数间用一个空格隔开,行末不允许有多余的空格。
难点!!!!
第i行为从1到i的所有正整数。
解决方法!!!!
在#864的基础上,改变内层循环的判断条件!因为每行的数字在随着行数的变化而变化,因此j要随着i的变化而变化。
#include<stdio.h>
void main(){
int n;
int i;
int j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
if(j/i!=1)
printf("%d ",j);
else
printf("%d\n",j);
}
}