Christopher. 发表于 2020-8-12 19:00:43

求助各位大佬

#include <stdio.h>

int main()
{
      float num = 0;
      double sum = 0;
      int status;

      do
      {
                printf("请输入合法的数字:");
                do
                {
                        sum = sum + num;
                        status = scanf("%f", &num);
                } while (getchar() != '\n' && status == 1);
      } while(status == 1);

      printf("结果是:%.2lf\n", sum);

      return 0;
}
B. 用户可以在同一行输入多个数字,数字之间可以是任意一个分隔符(如下图)


这个数字之间的字母作为分隔符,scanf不会录入吗?求各位大佬指教,谢谢啦!

zltzlt 发表于 2020-8-12 19:03:12

这里的 scanf 只会录入数字,不会录入字母,因为指定的格式化字符串是 .f,表示录入一个浮点数。

Christopher. 发表于 2020-8-12 19:22:36

zltzlt 发表于 2020-8-12 19:03
这里的 scanf 只会录入数字,不会录入字母,因为指定的格式化字符串是 .f,表示录入一个浮点数。

好的,谢谢啦
页: [1]
查看完整版本: 求助各位大佬