大佬们这个题目我这样写为啥不对啊
c语言吧
全部回复
仅看楼主
level 1
热心市民大🍊
楼主
#include<stdio.h>
int main()
{
int a,b,c,sum;
scanf("%d%d%d",&a,&b,&c);
sum=c*100+b*10+a;
printf("%d",sum);
return 0;
}刚才学不怎么会
2023年09月27日 15点09分
1
level 1
热心市民大🍊
楼主
顶
2023年09月27日 15点09分
2
level 1
热心市民大🍊
楼主
顶
2023年09月27日 15点09分
3
level 1
热心市民大🍊
楼主
顶
2023年09月27日 15点09分
4
level 12
究极小白
abc改为char型
2023年09月27日 16点09分
5
STARA⭐
改成char的话后面sum就会错吧
2023年09月29日 14点09分
究极小白
@STARA⭐
怎么会呢。char可以隐式变int阿
2023年09月29日 15点09分
究极小白
@究极小白
想了下确实错了。int是四个字节。char是一个字节。会被截断。应该先赋值char,在对char先减'0'
2023年09月29日 15点09分
level 8
叫你光盘没叫你光盘
第一个%d会把三位整数一起读进来,赋值给a,剩下b和c的值未定义,可以试试把%d换成%c,按照字符的形式进行读入,然后减去一个整数后转为整数(减数具体是多少可以查ASCII字符集),然后就正常了
2023年09月27日 16点09分
6
mumuxu0
@热心市民大🍊
你不知道ascii码,那估计是不是大学直接选的计算机类专业,以前根本没接触过。ascii是计算机基础,一点没学过的人确实不知道。如果你是计算机专业,老师以后可能也许大概会教吧,不然你得去b站补补计算机基础的知识,例如进制转换等
2023年09月28日 10点09分
热心市民大🍊
啥是ascll
2023年09月27日 21点09分
热心市民大🍊
没学过ascll
2023年09月27日 22点09分
叫你光盘没叫你光盘
@热心市民大🍊
百度搜ascii
2023年09月27日 23点09分
level 8
地丛云和十脚
你要这么写的话应该输入:1 2 3
2023年09月27日 16点09分
7
level 1
非天下也
就是要你输入一个整数123然后你对这个123进行解析,对十取余就行了。
2023年09月27日 18点09分
8
热心市民大🍊
怎么弄啊还就学了一点
2023年09月27日 21点09分
非天下也
@热心市民大🍊
上面表达错了,应该是对十取模,为了方便说明我直接说拿某个特定数来代替假设sum=123,比如a=123%10,得a为3,然后用sum=123/10为12,继续这样的操作b=12%10,得b为2,剩下c就=12/10。
2023年09月28日 00点09分
非天下也
@热心市民大🍊
然后再得sum=c*100+b*10+a;因为题目要求是三为正整数,所以直接这么算就行了,如果其他不定长位的正整数则可以用循环解决。
2023年09月28日 00点09分
热心市民大🍊
@非天下也
OKOK,多谢大佬弄明白了
2023年09月28日 00点09分
level 2
薯包
这题是让你取模的吧
2023年09月27日 21点09分
9
热心市民大🍊
不明白
2023年09月27日 22点09分
level 12
✨ ✨✨
scanf那里无法实现三位数输入三位
2023年09月27日 23点09分
10
✨ ✨✨
只有空字符间开才会结束读取
2023年09月27日 23点09分
热心市民大🍊
@✨ ✨✨
行,我看看
谢谢大佬
2023年09月27日 23点09分
level 12
✨ ✨✨
除非你改成getchar,一个字符一个字符输入
2023年09月27日 23点09分
11
热心市民大🍊
没怎么明白
2023年09月27日 23点09分
✨ ✨✨
@热心市民大🍊
意思就是你要让它每次只读一个字符,一般用getchar,但这题本意是考察你用数学方法把三个位上的数分离出来
2023年09月28日 00点09分
level 12
✨ ✨✨
用getchar弄的()
#include<stdio.h>
int main()
{
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
char str[4];
sprintf(str,"%c%c%c",c,b,a);
printf("%s",str);
}
2023年09月28日 00点09分
12
热心市民大🍊
谢谢啦,刚开始学没学过getchar根本看不懂
2023年09月28日 00点09分
洪水证人
scanf(" %c%c%c", &a, &b, &c); printf("%c%c%c\n", c, b, a); 两句就够了。
2023年09月28日 01点09分
✨ ✨✨
@洪水证人
2023年09月28日 01点09分
热心市民大🍊
@洪水证人
这样写不行啊,120倒回来变成021了 不能有0啊
2023年09月30日 23点09分
level 5
次硅酸钙🎒
%1d可以只输入一位。
2023年09月28日 00点09分
13
热心市民大🍊
OK
2023年09月28日 00点09分
level 9
弗辅人flesheart
当做字符串处理,倒置一下,输出就行
2023年09月28日 01点09分
14
level 6
Θ^Θ
推荐用8楼的,方便在学了循环之后拓展到对任意位的数进行反向输出
2023年09月28日 02点09分
15
热心市民大🍊
靠的就是8楼方法写对了
2023年09月30日 22点09分
1
2
尾页