例如:
输入一串数字字符,翻译规律如下:
0——>9
1——>8
2——>7
3——>6
4——>5
5——>4
6——>3
7——>2
8——>1
9——>0
(本菜鸟看明白了翻译前后两数相加为9,就想用“9-(翻译之前的数)”来表示翻译之后的数,但不知怎么实现,求解!!)
int main()
{
char input_str[100], out_str[100];
int i = 0;
printf("请输入数字字符串:");
scanf("%s", &input_str);
for (; i < strlen(input_str); i++) {
out_str[i] = 9 - (input_str[i] - '0') + '0';
}
printf("%s", out_str);
return 0;
}
请问,out-str[i]=9-(in-str[i]-'0')+'0'是什么原理呢?
@Fate-Joker: input_str - '0' 表示用这个字符减去0字符对应的ascii码,这样获得的是对应的数字,用9减去之后再加上0字符对应的ascii码,赋值给char类型的变量后会自动转换成ascii码对应的字符
@Fate-Joker: 你要区分开0字符与0数字
@Fate-Joker: 总之就是int和char之间的来回转换
@编程小白-郭旭: 非常感谢!我会记住的!
太晚了明天告诉你
我等啊等啊等...