c语言将三个英文字母转换为数字并求和
时间: 2024-10-14 07:06:54 浏览: 66
在C语言中,你可以使用ASCII码来将每个英文字符转换成对应的数值,然后对这三个数值进行求和。ASCII码是基于拉丁字母的一套电脑编码系统,A到Z的大写字母的ASCII值从65开始递增。
下面是一个简单的示例,假设我们要将字符串 "abc" 转换为数字并求和:
```c
#include <stdio.h>
int main() {
char str[4] = {'a', 'b', 'c', '\0'}; // 字符串数组,注意加'\0'表示字符串结束
int sum = 0;
for (int i = 0; i < 3; i++) { // 只处理前三个字符,因为第四个是终止符
sum += (int)str[i]; // 将字符转换为整数,并累加到总和
}
printf("The sum of ASCII values is: %d\n", sum);
return 0;
}
```
在这个程序中,我们遍历字符串 `str` 的前三项,将其转换为整型并累加到 `sum` 中。运行后你会看到 `a`、`b` 和 `c` 的ASCII值之和。
相关问题
c语言大学经典100题
### C语言大学经典编程题集
#### 题目一:字符串处理与排序
实现一个程序,读取若干行字符串并存储在一个二维字符数组中。当遇到特定终止符(如`#`)时停止输入,并按照字符串长度升序排列这些字符串,最后依次输出。
```c
#include<stdio.h>
#include<string.h>
int main() {
int n;
char arr[50][50];
int b[50], cnt;
for (int i = 1;; i++) {
fgets(arr[i], sizeof(arr[i]), stdin);
if (arr[i][0] == '#') {
cnt = i;
break;
}
b[i] = strlen(arr[i]) - 1; // 减去换行符 '\n'
arr[i][b[i]] = '\0'; // 去掉换行符
}
// 排序逻辑调整为先记录有效数量再遍历打印
for (int length = 0; length <= 50; ++length) {
for (int index = 1; index < cnt; ++index) {
if (b[index] == length && arr[index][0] != '#')
printf("%s ", arr[index]);
}
}
printf("\n");
return 0;
}
```
此段代码修正了原版中的索引越界风险以及不必要的循环次数[^2]。
#### 题目二:基本运算表达式的构建与输出格式化
给定三个变量 `a`, `b`, 和 `c` 的值分别为3, 4, 和5,通过一次性的 `scanf()` 输入这三个参数,并以指定格式输出两个计算结果——一个是三者之和,另一个是第一个减去其余两者的结果。
```c
#include<stdio.h>
int main() {
float a, b, c, x1, x2;
printf("请输入对应字母的数值;\na=");
scanf("%f", &a);
printf("b=");
scanf("%f", &b);
printf("c=");
scanf("%f", &c);
x1 = a + b + c;
x2 = a - b - c;
printf("x1=a+b+c=%.0f+%d+%d=%.0f\n", a, (int)b, (int)c, x1);
printf("x2=a-b-c=%.0f-%d-%d=%.0f\n", a, (int)b, (int)c, x2);
return 0;
}
```
这段改进后的代码更贴近实际应用场景的要求,在保持原有功能的基础上优化了用户体验[^3].
#### 题目三:文件操作与数据类型转换
设计一段程序接收一系列由英文字母组成的单个字符作为输入,如果该字符属于集合{'A', 'B', ...}则累加其ASCII码对应的整数值;若是小写字母'e'或是中文句号‘.’也参与累加过程。最终将得到的总和写入名为`string.out`的文件内,其中任何涉及浮点数的操作都需采用科学记数法来展示。
```c
#include<stdio.h>
void writeToFile(const char* filename, double value) {
FILE *file = fopen(filename, "w+");
fprintf(file, "%.2e\n", value);
fclose(file);
}
int main() {
char ch;
double sum = 0.0;
while ((ch = getchar()) != EOF) {
switch(ch){
case 'A':case 'B': /*...*/ :case 'Z':
case 'e':
case '.':
sum += ch;
break;
default:
continue;
}
}
writeToFile("string.out", sum);
return 0;
}
```
上述例子展示了如何利用条件语句筛选符合条件的数据项,并将其累积求和后保存至外部文件中,同时满足关于浮点数显示方式的规定[^4].
阅读全文
相关推荐


















