关于oj输出中的空格与换行
Description
变种水仙花数:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个变种水仙花数。
例如:655 = 6 * 55 + 65 * 5
1461 = 1461 + 1461 + 146*1
输出给定范围[a,b]中的所有变种水仙花数。
Input
多组测试数据,每组测试数据占一行,每行2个正整数a和b(a≤b)。
Output
每组测试数据输出占若干行,输出给定范围内所有的变种水仙花数,每行5个数,每两个数之间间隔一个空格。如果给定范围内不存在变种水仙花数,则输出“not exist”信息。
#include <stdio.h>//这个中写了如何控制空格和换行
int main()
{
int m,n;
while(scanf("%d %d",&m,&n)!=EOF)
{
int a,b,c,d,e,t=0;
int i;
for(i = m;i<=n;i++)
{
a = i % 10;//个位
b = (i/10) % 10;//十位
c = (i/100) % 10;//百位
d = (i/1000) % 10;//千位
e = (i/10000) % 10;//万位
if(i == e * (1000 * d + 100 * c + 10 * b + a) +
(10 * e + d) * (100 * c + 10 * b + a)+
(100 * e + 10 * d + c) * (10 * b + a)+
(1000 * e + 100 * d + 10 * c + b) * a)//判断是否水仙花数
{
t++;
if(t%5==1) printf("%d",i);
else printf(" %d",i);
if(t%5==0) printf("\n",i);
}
}
if(t==0) printf("not exist\n");
if(t%5!=0) printf("\n");//在每组测试数据最后换行
}
}
下面的输出即为打空格与换行的过程,卡了很久。