gpt4 book ai didi

c - 初学者 C - 以相反的顺序打印用户的 float 输入

转载 作者:太空狗 更新时间:2023-10-29 15:55:26 25 4
gpt4 key购买 nike

我正在编写一个程序,它使用 1 条语句从用户那里读取 6 个 float 。然后让它在 3 行中打印 6 个数字,并满足以下所有要求:

(1) 数字的打印顺序与读入顺序相反

(2) 它们在 3 行上:第一行 1 个数字,下一行 2 个数字,最后一行 3 个数字

(3) 将数字排列成列格式,右对齐,小数点后留一位


这是我对前两个要求的尝试

#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;

}

在我的初学者看来,这非常有道理。

这是我运行的结果

Enter 6 float numbers, separated by commas: 0.2,3.2,0.1,0.5,0.6,0.7

the numbers are:

-107374176.0000006

-107374176.0000005,-107374176.0000004

-107374176.0000003,-107374176.0000002,0.2000001

Press any key to continue . . .

除了最后一个,其他都是垃圾输出。感谢所有帮助!

最佳答案

你的格式

scanf ("%f1,%f2,%f3,%f4,%f5,%f6",&f1,&f2,&f3,&f4,&f5,&f6);

期望 1 在第一个 float 之后和随后的逗号之前,在下一个逗号之后是 2 等等。

应该是

scanf ("%f,%f,%f,%f,%f,%f",&f1,&f2,&f3,&f4,&f5,&f6);

由于未提供分隔数字,第二次转换(及后续转换)失败,其他 float 仍未初始化。

关于c - 初学者 C - 以相反的顺序打印用户的 float 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14446506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com