我们在C中得到了一个项目,在项目中我们得到一个小数(正数或负数)并打印所有数字。解释页面说,progtam可能得到一个不是双数的数字所以“我们不能使用双“,我们不能使用数组。它说“我们必须有创造力”。这就是我所做的:
For(I=0;I<=2;I++){ Scanf("%d", &a); printf("%d", a);}
因此,如果我得到“12.3456”(在同一行中)作为输入,则只打印前3位数字(123)。如何打印任何输入的所有数字。 或者你可能有不同的想法...谢谢
答案 0 :(得分:1)
int n1, n2, i1,i2;
int status;
status = scanf("%d.%n%d%n", &n1, &i1, &n2, &i2);
if(status == 2)
printf("%d%0*d\n", n1, i2-i1, n2);
else if(status == 1)
printf("%d\n", n1);