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个字符的字符串如何跳出第一个循环? 展开
其中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个字符的字符串如何跳出第一个循环? 展开
8个回答
推荐于2017-09-04 · 知道合伙人软件行家
关注
展开全部
有两种方法可以实现。
为方便说明,定义两个整型数组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));
为方便说明,定义两个整型数组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));
展开全部
用循环结构,不能直接出现像a=b的语句。另外,如果是char数组,可以直接用strcpy()函数,C++头文件<string>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用while(cin>>n);把输入的n用数组保存就好,想输多少都行,只要不超过数组的范围
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cahr str1[30],str2[30];
for(i=0;i<strlen(str1);i++)
if(i%2==0)
str2[i]=str1[i];
注意定义char型,最基本的。
也可以定义指针。
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个字符的字符串如何跳出第一个循环?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用遍历数组,判断每一项是否符合条件,符合就赋值给另一个数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询