我正在编写一个程序,使用1个语句读取用户的6个浮点数。然后它打印的6个数字在3线,与所有的以下条件:初学者C - 以相反的顺序打印用户的浮点数输入
(1)的编号印刷以相反的顺序,它们在
读(2)它们在3行: 1号在第一行,2号到下一行,3号在最后一行
(3)小数点后排队号码,将他们以列格式,右对齐,带1位
这是我对第2个要求的尝试
#include <stdio.h>
int main(void)
{
//variable definitions
float f1,f2,f3,f4,f5,f6;
printf ("Enter 6 float numbers, separated by commas: ");
scanf ("%f1,%f2,%f3,%f4,%f5,%f6",&f1,&f2,&f3,&f4,&f5,&f6);
printf ("%f6\n",f6);
printf ("%f5,%f4\n",f5,f4);
printf ("%f3,%f2,%f1\n",f3,f2,f1);
return 0;
}
对我的初学者来说,它非常有意义。
这里的结果,当我运行它
进入6个浮点数,以逗号分隔:0.2,3.2,0.1,0.5,0.6,0.7
的数字是:
- 107374176.0000006
-107374176.0000005,-107374176.0000004
-107374176.0000003,-107374176.0000002 ,0.2000001
按任意键继续。 。 。
所有这些都是垃圾输出,除了最后一个。感谢所有的帮助!
他们是垃圾,因为你从来没有初始化它们。 'scanf'调用也没有设置它们,因为你输入的文本与格式字符串不匹配,所以'scanf'失败 - 你没有注意到,因为你没有检查'scanf'的返回值。 – melpomene