c语言怎么在循环体最后一次执行输出后换行,而不是执行输出一次换行一次?

c语言怎么在循环体最后一次执行输出后换行,而不是执行输出一次换行一次?

#include<stdio.h>
int main()
{
	int m,n,a,b,c;
	int i,flag=0;
	while(scanf("%d %d",&m,&n)!=EOF)
	{
	

	for(i=m;i<=n;i++)
	{
		a=i/100;
		b=i%100/10;
		c=i%100%10;
		if(a*a*a+b*b*b+c*c*c==i)
		{
			printf("%d ",i);
			flag=1;
			
		printf(" ");	
		}

	
	}

		if(flag==0)
		{
			printf("no\n");
			
		}
	
	
}
	
	
	
	
	
	return 0;
}

最直接的办法,在循环外面写一个换行就行!没特殊要求没必要在函数体里面进行判断换行,增加代码量。

代码中,如果你是想在for循环执行完一遍就换一次行,可以在for循环下面加上换行。如果你是项在while循环执行完后换行,直接在while循环下面加上换行即可。

在for循环里的最后加上

if(i == n)
{
    printf("\n");
}

      

for的最后一次循环用\n

if(flag==0)
{
    printf("no");
} 

printf("\n");

调整一下flag的判断输出,最后输出换行