将一个字符数组str下标为3的倍数的元素赋给另外一个字符数组str2并输出str2C语言
时间: 2024-03-23 16:36:22 浏览: 55
好的,以下是代码实现:
```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语言编写一个程序,将一个字符数组中下标为3的倍数的元素赋给另一个字符数组str2,并输出str2
好的,以下是使用 C 语言编写的程序,可以实现将一个字符数组中下标为 3 的倍数的元素赋给另一个字符数组 str2,并输出 str2 的功能:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main()
{
char str1[MAX_LEN], str2[MAX_LEN];
int len, i, j = 0;
printf("请输入一个字符串:");
fgets(str1, MAX_LEN, stdin);
len = strlen(str1);
for (i = 0; i < len; i++)
{
if ((i + 1) % 3 == 0)
{
str2[j] = str1[i];
j++;
}
}
str2[j] = '\0';
printf("下标为3的倍数的元素为:%s\n", str2);
return 0;
}
```
程序的逻辑比较简单,首先通过 `fgets()` 函数从标准输入中读入一个字符串到字符数组 `str1` 中。然后遍历 `str1` 数组,对于下标为 3 的倍数的元素,将其赋值给字符数组 `str2` 中,并用变量 `j` 记录 `str2` 数组中已经存储的元素个数。最后,将 `str2` 数组最后一个元素设为字符 '\0',以确保输出正确的字符串。
输入一个字符串后,程序会输出其中下标为 3 的倍数的元素,作为答案。
写一个c语言代码:【问题描述】 将一个字符数组str中下标为3的倍数的元素赋给另外一个字符数组str2, 并输出str2. 假设每个字符数组长度不错过80. 【输入形式】 输入一字符串str1 【输出形式】 输出字符串str2 【样例输入】 Shenyang 【样例输出】 Snn
好的,以下是您所需的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80
int main() {
char str1[MAX_LEN + 1];
char str2[MAX_LEN / 3 + 1];
int i, j = 0;
printf("请输入一个字符串:");
scanf("%s", str1);
for (i = 0; i < strlen(str1); i++) {
if ((i + 1) % 3 == 0) {
str2[j++] = str1[i];
}
}
str2[j] = '\0';
printf("输出字符串:");
printf("%s\n", str2);
return 0;
}
```
程序运行时,首先输入一个字符串,然后程序会遍历这个字符串,如果当前字符的下标是3的倍数,就将其赋值给另外一个字符数组str2中对应位置的元素。最后输出str2即可。