用C++编写函数void convert(char *p),将参数p所指字得串中所有的数字 (0-9) 替换为它们的平方,败,字得为“abc123def456",转换后字符电为"abc149def162536”。在main函数中,从键盘输入一个字符审,调用convert函数转换字符串,然后将原字符串及转换后字符审写入文件result txt中,第一行是原字符 串,第二行是转换后字符串。
时间: 2024-02-18 14:03:15 浏览: 58
string和char*
4星 · 用户满意度95%
以下是实现`convert`函数和主函数的代码:
```c++
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
void convert(char *p) {
while (*p != '\0') {
if (*p >= '0' && *p <= '9') {
int num = *p - '0';
int square = num * num;
*p = '0' + square;
p++;
}
else {
p++;
}
}
}
int main() {
char str[100];
cout << "请输入字符串:";
cin.getline(str, 100);
convert(str);
cout << "转换后的字符串为:" << str << endl;
ofstream outfile("result.txt");
outfile << "原字符串:" << endl << str << endl;
convert(str);
outfile << "转换后字符串:" << endl << str << endl;
outfile.close();
cout << "已将原字符串及转换后字符串写入文件result.txt中" << endl;
return 0;
}
```
这里使用了指针遍历字符串中的每一个字符,如果字符是数字,则将其转换为平方后的数字,并将其重新赋值给该字符;如果字符不是数字,则直接跳过。然后将原字符串和转换后的字符串分别写入文件中。注意,在写文件时,需要先将原字符串写入文件中,再调用`convert`函数对字符串进行转换,然后将转换后的字符串再次写入文件中。
阅读全文