从input.exe中得到一组字母,设计一个程序,找出其中字母出现几次的个数,并输出到output.exe中,例如输入aabbcdb输出 2 3
时间: 2024-03-13 20:45:28 浏览: 127
输入一些数字,输出每个数重复出现的次数
以下是一个C语言程序,可以实现从input.exe中读取输入,统计每个字符出现的次数,将结果传递给output.exe,并将结果显示在命令行窗口中。请确保input.exe和output.exe已经存在并且可以运行。
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 1000
int main() {
char s[MAX_LENGTH];
int i, char_count[26] = {0}, count_1 = 0, count_2 = 0;
FILE *input_file, *output_file;
// 打开input.exe文件并读取其中的字符串
input_file = fopen("input.exe", "r");
fgets(s, MAX_LENGTH, input_file);
fclose(input_file);
// 统计每个字符出现的次数
for (i = 0; s[i] != '\0'; i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
char_count[s[i] - 'a']++;
}
}
// 统计出现1次和2次的字符个数
for (i = 0; i < 26; i++) {
if (char_count[i] == 1) {
count_1++;
} else if (char_count[i] == 2) {
count_2++;
}
}
// 格式化输出结果
char output_str[MAX_LENGTH];
sprintf(output_str, "%d %d", count_2, count_1);
// 打开output.exe文件并将结果写入其中
output_file = fopen("output.exe", "w");
fputs(output_str, output_file);
fclose(output_file);
// 输出结果
printf("%s\n", output_str);
return 0;
}
```
在这个代码中,首先定义了一个`MAX_LENGTH`常量表示字符串的最大长度,以及一个`char_count`数组表示每个字符出现的次数。然后,使用`fgets`函数从`input.exe`文件中读取字符串,并将其存储在`s`数组中。接着,使用一个循环遍历字符串`s`,统计每个字符出现的次数,并存储在`char_count`数组中。然后,再使用一个循环统计出现1次和2次的字符个数。接着,使用`sprintf`函数将结果格式化为一个字符串,存储在`output_str`数组中。最后,使用`fputs`函数将结果写入`output.exe`文件中,并使用`printf`函数输出结果。
注意,需要在Dev-C++软件中创建一个新的C控制台应用程序项目,并将以上代码复制到`main.c`文件中。然后,编译和运行该程序即可。
阅读全文