C语言输入浮点数和整数,输入#结束
时间: 2024-10-13 21:10:33 浏览: 31
在C语言中,当需要从用户那里输入浮点数和整数,并通过特定字符如'#'来表示结束输入时,可以使用`scanf`函数配合自定义格式字符串来实现。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
float float_num;
int int_num;
// 定义输入格式,%.2f 表示读取最多两位小数的浮点数,%d 用于读取整数
char input_format[] = "%f # %d";
printf("请输入浮点数和整数,用 '#' 结束输入:\n");
// 使用 fgets 函数防止换行符溢出
char line[100];
fgets(line, sizeof(line), stdin);
// 检查是否已输入 '#'
if (line[strlen(line) - 1] = '\0'; // 移除最后一个字符
} else {
fprintf(stderr, "输入无效,缺少 '#' 结束。\n");
return 1;
}
// 尝试解析输入
if (scanf(input_format, &float_num, &int_num, line + strlen(line)) != 3) {
fprintf(stderr, "输入错误,请只输入浮点数、整数及 '#' 结束。\n");
return 1;
}
printf("浮点数: %.2f\n", float_num);
printf("整数: %d\n", int_num);
return 0;
}
```
在这个例子中,用户按照指定格式输入浮点数和整数,然后输入一个'#'作为结束标记。如果输入格式不正确或未提供结束标记,程序会给出错误提示。
阅读全文