C++中如何将一个数组中的元素值赋给另一个数组

将字符数组str1中下标为单号的元素值赋给另一个字符数组str2,并打印输出str1和str2。其中str1中保存的字符串可以由用户输入,假设不超过30个字符楼主是刚刚学... 将字符数组str1中下标为单号的元素值赋给另一个字符数组str2,并打印输出str1和str2。
其中str1中保存的字符串可以由用户输入,假设不超过30个字符

楼主是刚刚学C++的,请尽量简单些!
我是这样写的
#include<iostream.h>
void main()
{
char str1[31], str2[16];
int x=0;
int i=0,j=1;
do{
cin>>str1[x];
x++;
}while(x<=29);
str1[30]='\0';
for(i,j;j<30;i++)
{
str2[i]=str1[j];
j+=2;
}
str2[i]='\0';
cout<<str1<<endl;
cout<<str2<<endl;
}

我想问一下,如果我想输入不足30个字符的字符串如何跳出第一个循环?
展开
 我来答
泡影果果616
推荐于2017-09-04 · 知道合伙人软件行家
泡影果果616
知道合伙人软件行家
采纳数:2005 获赞数:71326
软件技术从上学的时候就在研究,虽没最强大脑那般无敌,但依靠后天的勤奋学习,相信可以很专业的帮助更多人

向TA提问 私信TA
展开全部
有两种方法可以实现。

为方便说明,定义两个整型数组a,b,并实现将a中的值赋值到b中。
int a[4] = {1,2,3,4}, b[4];

1、 通过数组遍历,逐个赋值。
定义循环变量int i;
for(i = 0; i < 4; i ++)
b[i] = a[i];
该程序功能为遍历数组a,逐个赋值到数组b对应元素中。

2、 借助内存复制函数memcpy,整体赋值。
void *memcpy(void *dst, void *src, size_t size);
这个函数的功能为将src上,大小为size字节的数据赋值到dst上。
调用该函数时需要引用头文件cstring,即
#include <cstring>
赋值数组的代码为
memcpy(b,a,sizeof(a));
偶孤丹玄代
2020-02-02 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:794万
展开全部
用循环结构,不能直接出现像a=b的语句。另外,如果是char数组,可以直接用strcpy()函数,C++头文件<string>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狼山007
2012-11-17
知道答主
回答量:18
采纳率:0%
帮助的人:2.7万
展开全部
用while(cin>>n);把输入的n用数组保存就好,想输多少都行,只要不超过数组的范围
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
井天555
2012-11-17
知道答主
回答量:61
采纳率:0%
帮助的人:31.4万
展开全部
cahr str1[30],str2[30];
for(i=0;i<strlen(str1);i++)
if(i%2==0)
str2[i]=str1[i];
注意定义char型,最基本的。
也可以定义指针。
追问
我是这样写的
#include
void main()
{
char str1[31], str2[16];
int x=0;
int i=0,j=1;
do{
cin>>str1[x];
x++;
}while(x<=29);
str1[30]='\0';
for(i,j;j<30;i++)
{
str2[i]=str1[j];
j+=2;
}
str2[i]='\0';
cout<<str1<<endl;
cout<<str2<<endl;
}

我想问一下,如果我想输入不足30个字符的字符串如何跳出第一个循环?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百小度
2023-05-05
知道答主
回答量:23
采纳率:0%
帮助的人:3117
展开全部
用遍历数组,判断每一项是否符合条件,符合就赋值给另一个数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式