c语言从键盘输出一串数字字符(该字符串至多包含一个点号)
时间: 2024-12-14 16:20:11 浏览: 10
在C语言中,你可以通过标准输入流`stdin`从键盘获取用户输入,并使用循环结构遍历这个字符串,直到遇到`.`为止。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 需要头文件才能处理字符串
int main() {
char input[50]; // 假设最多输入49个字符(包括点)
char current_char;
printf("请输入一串数字字符(可以包含一个点号): ");
while ((current_char = getchar()) != '\n') { // 循环读取字符,直到换行符结束输入
if (current_char >= '0' && current_char <= '9' || current_char == '.') {
input[strcspn(input, ".")] = current_char; // 如果不是点,则添加到字符串中
} else {
break; // 若输入非数字或超过长度限制,跳出循环
}
}
input[strcspn(input, ".")] = '\0'; // 确保字符串以"."结尾,如果有的话
printf("你输入的字符串是: %s\n", input);
return 0;
}
```
在这个程序中,我们使用了`getchar()`函数来逐个读取用户的输入字符,`strcspn()`函数用于查找字符串中第一个不在指定字符集内的位置。当你按下回车键时,会跳出循环。
阅读全文