由键盘输入一行字符,将其中每个数字字符代表的数值累加起来 用c语言
时间: 2024-12-11 16:37:49 浏览: 11
在C语言中,你可以使用`ctype.h`库中的函数来识别数字字符,并通过循环结构逐个累加它们的值。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int sum = 0;
char input[100]; // 假设输入长度不超过99
fgets(input, sizeof(input), stdin); // 从标准输入读取一行字符
for (size_t i = 0; input[i] != '\0'; i++) { // 遍历输入字符串
if (isdigit(input[i])) { // 检查字符是否为数字
sum += input[i] - '0'; // 将字符转换为整数并累加到总和上
}
}
printf("累加结果: %d\n", sum);
return 0;
}
```
在这个程序中,我们首先声明一个变量`sum`来存储累加的结果,然后使用`fgets()`函数获取用户输入的一行字符。接着,遍历这个字符串,如果字符是数字(`isdigit()`函数检测),就将其转换成对应的整数值(减去字符'0'),然后累加到`sum`中。
相关问题
c语言由键盘输入一行字符(以回车符表示结束),将其中每个数字字符所代表的数值累加起来
在C语言中,你可以通过标准库函数如`scanf()`读取用户从键盘输入的一行字符串,并遍历这个字符串寻找数字字符。然后使用`isdigit()`函数判断字符是否为数字,如果是,就转换成整数并累加到总和上。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int total = 0; // 初始化总和
char input[100]; // 存储用户输入
fgets(input, sizeof(input), stdin); // 从键盘读取一行
for (int i = 0; input[i] != '\0'; i++) { // 遍历输入字符串
if (isdigit(input[i])) { // 如果字符是数字
total += input[i] - '0'; // 将字符转换为整数并累加
}
}
printf("累加结果: %d\n", total);
return 0;
}
做一个c语言程序循不输入字行,累加所输入的数字字符个数,英语字符个教及其它字符个数,如果是数字字符,则将所有的数字字符对应的数据累加起来,输出数字字符个数.数字字符对应数据累加和、英语字符个数 其它字符个数。当输入的是半角(文双号
)时,程序结束。以下是程序的代码:
```
#include <stdio.h>
int main() {
int digit_count = 0;
int english_count = 0;
int other_count = 0;
int digit_sum = 0;
char c;
while ((c = getchar()) != EOF) {
if (c == '\n') {
continue;
}
if (c >= '0' && c <= '9') {
digit_count++;
digit_sum += c - '0';
} else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
english_count++;
} else {
other_count++;
}
if (c == ';') {
break;
}
}
printf("数字字符个数:%d\n", digit_count);
printf("数字字符对应数据累加和:%d\n", digit_sum);
printf("英语字符个数:%d\n", english_count);
printf("其它字符个数:%d\n", other_count);
return 0;
}
```
这个程序可以循环读入用户输入的字符,统计数字字符个数、数字字符对应数据累加和、英语字符个数和其它字符个数,并在输入半角分号时结束程序。
阅读全文