如何用whilescanf输入多组数据
时间: 2024-10-24 22:15:15 浏览: 22
在C语言中,如果你想通过`while scanf`连续输入多组数据,通常你会在一个无限循环(`while(1)`)内部使用`scanf`,并在每次循环结束后添加一些判断条件来决定是否继续下一轮循环。例如,你可以让用户选择是否还要输入更多数据,或者直到达到某个特定的结束条件为止。这里有一个简单的例子:
```c
#include <stdio.h>
int main() {
int choice;
float num;
printf("请输入一组数据(输入0表示结束):\n");
while (1) { // 无限循环,直到用户明确退出
if (scanf("%d", &choice) != 1 || choice == 0) { // 检查输入是否合法,0代表结束
break; // 如果输入不合法或用户选择结束,跳出循环
}
// 如果输入的是数字,进行相应的处理
if (choice == 1) { // 假设1对应浮点数输入
if (scanf("%f", &num) == 1) {
// 处理浮点数num
printf("已输入数值: %.2f\n", num);
} else {
printf("输入错误,请重新输入!\n");
}
} else {
printf("无效的选择,已忽略。\n");
}
// 清空输入缓冲区,防止下一个scanf接收到前一次输入的余留字符
scanf("\n");
}
printf("数据输入完毕。\n");
return 0;
}
阅读全文
相关推荐








