c语言作业,求救!!!

从键盘输入两个三位整数,将两个数的十位数互换后输出。(如输入123和456,则输出为153和426)

#include<stdio.h>

int main()

{

int a[4],b[4];

int k=1,j=1,x,y,t;

scanf("%d%d",&x,&y);

while(x!=0)

{

a[k++]=x%10;//把x的各个位提取出来 

x/=10;

}

while(y!=0)

{

b[j++]=y%10;//把y的各个提取出来 

y/=10;

}

t=a[2];

a[2]=b[2];//十位交换 

b[2]=t;

for(int i=3;i>=1;i--)

{

printf("%d",a[i]);

}

printf("\n");

for(int i=3;i>=1;i--)

{

printf("%d",b[i]);

}

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-19
你也没有明确说出来两个数之间用什么分隔开,是空格还是逗号还是直接一个数回车然后下一个数。
那我就默认你是用空格把两个数隔开。我是用数组解决的,程序如下:
#include <stdio.h>
int main()
{
int m,n;
scanf ("%d%d",&m,&n);
char M[5],N[5];
sprintf (M,"%d",m);
sprintf (N,"%d",n);
char c=M[1];
M[1]=N[1];
N[1]=c;
for(int i=0;i<3;i++)
printf ("%c",M[i]);
for(int i=0;i<3;i++)
printf ("%c",N[i]);
return 0;
}
第2个回答  2020-03-19
#include <stdio.h>
int main(void)
{
int a,b,n;
printf("Input two numbers:\n");
scanf("%d,%d",&a,&b);
n=a/10%10-b/10%10;
a=a-10*n;
b=b+10*n;
printf("%d,%d\n",a,b);
return 0;
}本回答被提问者采纳
第3个回答  2020-03-19
不要把他们看成整数,看成字符串就好办了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网