【问题描述】 将一个字符数组str中下标为3的倍数的元素赋给另外一个字符数组str2, 并输出str2. 假设每个字符数组长度不错过80. 【输入形式】 输入一字符串str1 【输出形式】 输出字符串str2 【样例输入】 Shenyang 【样例输出】 Snn
时间: 2023-12-02 20:03:44 浏览: 32
以下是C++的代码实现,可以参考一下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[81], str2[81];
cin >> str1;
int len = strlen(str1);
int j = 0;
for (int i = 0; i < len; i += 3) {
str2[j++] = str1[i+2];
}
str2[j] = '\0';
cout << str2 << endl;
return 0;
}
```
输入字符串 `str1` 后,我们先求出它的长度 `len`。然后用一个循环,每次跳过两个字符,取第三个字符,赋值给 `str2` 对应的位置。最后别忘了在 `str2` 的最后一个位置加上空字符,表示字符串的结束。最后输出 `str2` 即可。
相关问题
将一个字符数组str下标为3的倍数的元素赋给另外一个字符数组str2并输出str2C语言
好的,以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "abcdefghijk";
char str2[5];
int i = 0, j = 0;
for(i = 0; i < strlen(str); i++) {
if(i % 3 == 0) {
str2[j] = str[i];
j++;
}
}
printf("%s", str2);
return 0;
}
```
输出结果为:`adgj`
解释一下代码:
首先定义了两个字符数组 `str` 和 `str2`,其中 `str` 为原始数组, `str2` 为目标数组,长度为3的倍数的字符将会被拷贝到 `str2` 中。
然后通过 `for` 循环遍历 `str` 数组,当下标为3的倍数时,将该字符拷贝到 `str2` 中,并将 `j` 的值加 1。
最后输出 `str2` 即可。
c语言【问题描述】 将一个字符数组str中下标为3的倍数的元素赋给另外一个字符数组str2, 并输出str2. 假设每个字符数组长度不错过80. 【输入形式】 输入一字符串str1 【输出形式】 输出字符串str2 【样例输入】 Shenyang 【样例输出】 Snn
以下是C语言的代码实现,可以参考一下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[81], str2[81];
scanf("%s", str1);
int len = strlen(str1);
int j = 0;
for (int i = 0; i < len; i += 3) {
str2[j++] = str1[i+2];
}
str2[j] = '\0';
printf("%s\n", str2);
return 0;
}
```
和C++代码的实现类似,输入字符串 `str1` 后,我们先求出它的长度 `len`。然后用一个循环,每次跳过两个字符,取第三个字符,赋值给 `str2` 对应的位置。最后别忘了在 `str2` 的最后一个位置加上空字符,表示字符串的结束。最后输出 `str2` 即可。
阅读全文