c语言输出怎么删除数据末尾的空格?

这是程序:
#include <stdio.h>
int fun(int a,int b,int n){
return (a>=0 && a<n && b>=0 && b<n) ? 1 : 0;
}
int main(void){
int a[5][5],i,j,x,y,t;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
scanf("%d %d",&x,&y);
if(fun(x,y,5))
for(i=0;i<5;i++)
(void)(t=a[x][i]),(void)(a[x][i]=a[y][i]),a[y][i]=t;
else
printf("error!\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
然后每次输出,矩阵每一行末尾的数字后面都会有一个空格,而题目要求只能在每一行数字之间有空格,首末尾都不能有空格。已经改了好几遍了都不行,求大佬指点!!!
(附题目:编写一个函数,输入参数是5*5的二维int型数组,和n,m两个行下标。功能:判断n,m是否在数组范围内,如果不在,则返回0;如果在范围内,则将n行和m行交换,并返回1。在main函数中, 声明一个5*5的int型矩阵,输入矩阵数据,并输入n,m的值。调用前面的函数。如果返回值为0,输出error。如果返回值为1,输出交换后的新矩阵。)

使用substring C很久没用过了,不知道可不可以,反正JAVA和C#用substring就可以去掉字符串最后一个,比如说,定义一个
String s;
把你的结果赋值给s;然后
s.substring(0,s.length-1);
这条代码就可以把字符串最后一个去掉了,
像计算1+.....+100,用for语句来显示时,就可以用substring把最后一个"+"去掉了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-16
for(i = 0; i < 5; i++)
{
    for(j = 0; j < 5; j++)
    {
        if(j != 4)
            printf("%d ", a[i][j]);
        else
            printf("%d", a[i][j]);            
    }
    putchar('\n');
}

本回答被提问者采纳
相似回答