用c语言编写输入一行小数,输出小数的个数
时间: 2024-10-21 10:13:17 浏览: 14
C语言初学者入门讲座 第五讲 输入输出(1)
在C语言中,你可以通过读取用户输入并遍历字符串的方式来计算小数点前后的数字个数。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int count_digits(const char *str) {
int digit_count = 0; // 计算非零数字的数量
while (*str != '\0') { // 遍历字符串直到结尾
if (*str >= '0' && *str <= '9') { // 如果字符是数字
digit_count++;
}
str++; // 移动到下一个字符
}
return digit_count;
}
int main() {
char input[50]; // 储存用户输入的一行小数
fgets(input, sizeof(input), stdin); // 从标准输入获取一行数据
// 考虑最后是否有多余的换行符,需要去掉
size_t len = strlen(input);
if (input[len - 1] == '\n') {
input[len - 1] = '\0'; // 去掉最后一个换行符
}
int decimal_count = count_digits(input); // 小数点前的整数部分的数字个数
int dot_index = strchr(input, '.'); // 查找小数点的位置
if (dot_index) {
dot_index++; // 移动一位到小数点后
decimal_count += count_digits(dot_index); // 加上小数点后的数字个数
}
printf("小数的总数是:%d\n", decimal_count);
return 0;
}
阅读全文