编写一个函数void convert(char *s,char*t),将一个英文单词,逐字符转换为每一个字符后的第一个字符,用c++
时间: 2024-03-12 20:48:09 浏览: 102
好的,这是一个简单的实现:
```c++
void convert(char *s, char *t) {
for (int i = 0; s[i] != '\0'; i++) {
t[i * 2] = s[i];
t[i * 2 + 1] = s[0];
}
t[strlen(s) * 2] = '\0';
}
```
这个函数接受两个指向字符数组的指针 `s` 和 `t`,并将 `s` 中的每个字符逐个转换为每个字符后的第一个字符,然后将结果存储在 `t` 中。
例如,如果 `s` 是字符串 "hello",那么 `t` 将包含字符串 "hhelellelo"。
注意,在 `t` 中的每个字符都必须由两个字符组成,因为在 `s` 中的每个字符后面都有一个新的字符。
希望这可以帮助到你!
相关问题
用C++编写函数void convert(char *p),将参数p所指字得串中所有的数字 (0-9) 替换为它们的平方,败,字得为“abc123def456",转换后字符电为"abc149def162536”。在main函数中,从键盘输入一个字符审,调用convert函数转换字符串,然后将原字符串及转换后字符审写入文件result txt中,第一行是原字符 串,第二行是转换后字符串。
以下是实现`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`函数对字符串进行转换,然后将转换后的字符串再次写入文件中。
void convertstring(char * s) 函数来实现\n\n将从键盘中接收一个字符串中的小写字母转化为大写字母; \n\n并在主函数中先输入一个字符串,再输入一个字符,并调\n\n用convert
string函数将字符串中的小写字母转化为大写字母,最后输出转化后的字符串和输入的字符。
void convertstring(char * s) {
int i = ;
while(s[i] != '\') {
if(s[i] >= 'a' && s[i] <= 'z') {
s[i] = s[i] - 'a' + 'A';
}
i++;
}
}
int main() {
char str[100];
char ch;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入一个字符:");
scanf(" %c", &ch);
convertstring(str);
printf("转化后的字符串为:%s\n", str);
printf("输入的字符为:%c\n", ch);
return ;
}
阅读全文