这种情况该怎么办,请求,输出多行,没行十个元素,要注意格式。
每行显示10个符合要求的数字,每个数字用一个空格分隔(注意每一行最后一个数的后面没有空格)。
这里输出的是多组数据,最后一组可能不满十个元素,后面没有空格;
比如这样:
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5
经测试我发现题目的输出刚好满三行,所以我不用判断他最后一行有多少我用了这种办法
if(j%10==0)printf("\n");
else printf(" \t");
结果错误
后来我改了下最后一行最后一个不加换行直接输出,但是还是结果错误;
这该怎么办呢;我最想知道的是最后一行元素不确定的情况。应该怎么输出。
无限感激
[解决办法]
# include <stdio.h>
int main(){
int i,j=0;
bool isstart = true;
for(i=100;i<=1000;i++){
if(i%5==0&&i%6==0){
if (!isstart) printf(" ");
printf("%d",i);
isstart = false;
j++;
if(j%10==0)printf("\n");
isstart = true;
else;
}
if (!isstart) printf("\n");
}
return 0;
}
[解决办法]
可以有两种方式
1) 分割成几个小函数
1)不带换行,输出一行n个数的函数。
2)带换行,输出一行n个数的函数。
3)总控函数,输出若干行数据,最后一行不换行,如果不是满10 ,最后一行不足10个数。
2)用一个循环,内部使用 if else处理空格和换行
2.1) 空格
每行10个数据,后面不加空格。有两种方式处理:
2.1.1)第一个数据不加空格,其他数据加前置空格。
2.1.2)最后一个不加空格,其它数据后加空格。
2.2)换行
有两种情况:
2.2.1)整十个数,最后一个满行不换行。
2.2.2)非整十个数,最后一个满行换行。
然后输出不足十个数的行,(结尾不加空格)。