这道题这样做可以吗??????

来源:百度知道 编辑:UC知道 时间:2024/06/24 18:49:52
是将一个3位数(假设个位数不为0)的个位数和百位数进行交换,例如 输入一个123 得到321

#include<stdio.h>
void main(){
int i,j,k,t;
printf("请输入一个三位数:");
scanf("%d%d%d",&i,&j,&k);
if(k!=0)
t=k;
k=i;
i=t;
printf("%d%d%d",i,j,k);
}
不明白为什么定义成char 类型的就可以???

为什么你只看到改成了char,而不看看输入输出改成了%c....

---------------------
不可以,
1.你输入三位数后,结果都给i了,还得你再输入....
2.假设你前面是对的,后面你if你又错了...

简单的修改+严格的输入可以通过测试,但是我觉得你的目的不在此,呵呵:
#include<stdio.h>
void main(){
char i,j,k;
printf("请输入一个三位数:");
scanf("%c%c%c",&i,&j,&k);
if (k!='0')
printf("%c%c%c\n",k,j,i);
else if (j!='0')
printf("%c%c\n",j,i);
else
printf("%c\n",k,j,i);
}

#include<stdio.h>
void main(){
char i,j,k;
printf("请输入一个三位数:");
scanf("%c%c%c",&i,&j,&k);
if(k==0 || i==0)
printf("输入错误!\n");
else
printf("%c%c%c\n",k,j,i);
}