用C++ 编一个C程序,创建一个result.txt文件,从键盘上输入一个字符: 若该字符是数字字符,则把它转换为对应的整数并输出到result.txt中; 若该字符是大写字母,则转换成小写并输出到result.txt中; 若该字符是小写字母,则转换为大写并输出到result.txt中; 若该字符是其他字符,则不进行任何操作。
时间: 2023-05-13 09:05:28 浏览: 71
好的,这是一个简单的C程序,可以实现你的需求:
```c
#include <stdio.h>
int main() {
char c;
FILE *fp;
fp = fopen("result.txt", "w");
printf("请输入一个字符:");
scanf("%c", &c);
if (c >= '0' && c <= '9') {
fprintf(fp, "%d", c - '0');
} else if (c >= 'A' && c <= 'Z') {
fprintf(fp, "%c", c + ('a' - 'A'));
} else if (c >= 'a' && c <= 'z') {
fprintf(fp, "%c", c - ('a' - 'A'));
}
fclose(fp);
return 0;
}
```
这个程序会创建一个名为result.txt的文件,并从键盘上读取一个字符。如果该字符是数字字符,则将其转换为对应的整数并输出到result.txt中;如果该字符是大写字母,则转换成小写并输出到result.txt中;如果该字符是小写字母,则转换为大写并输出到result.txt中;如果该字符是其他字符,则不进行任何操作。
相关问题
用C++编写函数void delDigit(char* p)删除一个字符串中的所有数字字符。在主函数中,从键盘输入一个字符串(有可能带空格),然后调用delDigit函数删除该字符串中的数字字符,将从键盘输入的字符串以及处理后的字符串写入文件result.txt。文件的第一行为原字符串,第二行为处理后的字符串。(假定从键盘输入的字符串不超过80个字符) 要求:不得使用字符串处理系统函数以及字符处理系统函数。
实现这个函数可以使用两个指针,一个指向原字符串,一个指向处理后的字符串。遍历原字符串,如果遇到数字字符,则跳过;否则将该字符复制到处理后的字符串中。最后,将处理后的字符串写入文件。
下面是实现代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
void delDigit(char* p) {
char* q = p;
while (*p != '\0') {
if (*p >= '0' && *p <= '9') {
p++;
} else {
*q = *p;
p++;
q++;
}
}
*q = '\0';
}
int main() {
char str[81];
cout << "请输入一个字符串:";
cin.getline(str, 81);
delDigit(str);
ofstream fout("result.txt");
fout << "原字符串:" << str << endl;
fout << "处理后的字符串:" << str << endl;
fout.close();
cout << "处理后的字符串已写入文件result.txt" << endl;
return 0;
}
```
注意,这个程序还需要头文件 `fstream` 来进行文件操作。
用记事本产生一个文本文件data.txt,其内容为若干实数,数据之间以空白字符分割。编程从该文件中读入这些实数,求出这些实数的平均值,在程序中创建并产生一个文本文件result.txt,内容为data.txt中的全体实数,每行5个数,最后一行是求出的平均值。c++
以下是一个示例代码:
```c++
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main() {
ifstream infile("data.txt"); // 打开数据文件
ofstream outfile("result.txt"); // 创建结果文件
double sum = 0.0, num;
int count = 0;
while (infile >> num) { // 读取数据文件中的实数
outfile << fixed << setprecision(2) << num << " "; // 将实数写入结果文件
sum += num;
count++;
if (count % 5 == 0) { // 每行写入5个实数
outfile << endl;
}
}
outfile << fixed << setprecision(2) << sum / count << endl; // 将平均值写入结果文件
infile.close(); // 关闭数据文件
outfile.close(); // 关闭结果文件
return 0;
}
```
这个程序首先打开数据文件 `data.txt`,然后逐个读取其中的实数,将其写入结果文件 `result.txt`,并计算所有实数的和以及实数的个数。每输出5个实数,就换行。最后,将平均值写入结果文件,并关闭文件。
阅读全文