#include <stdio.h>
int intVal(int x)
{
if(x < '0' || x > '9'){
return 0;
}
else{
x = x - '0';
return x;
}
}
int main(void)
{
int c, num, prev;
while((c = getchar()) != EOF){
num = (intVal(prev) * 10) + intVal(c);
prev = num;
printf("%d", num);
}
return 0;
}
我想用这个程序做的是输入一个任意数字一次读取一个字符,然后将其格式化为一个 int 以便我可以使用它(不想使用 printf 格式)另外,我只是允许使用 getchar 和 printf 进行此分配。
样本输入:0001234.5
编辑期望输出:<1234>(5) 实际输出:0001234050
我觉得我正处于顿悟的风口浪尖,但我遇到了障碍,请帮忙?
*编辑我忘了提到我要的 END 结果是将非十进制数括在 <1234> 中,将十进制数括在括号中 (5)