C++ 从键盘输入n各字符,存储到数组中,数组大小等于输入字符串的个数

crtlcd987 2010-10-22 08:05:31
C++ 从键盘输入n各字符,存储到数组中,数组大小等于输入字符串的个数

初学者,谢谢各位了~~
...全文
1045 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LeonWly 2010-10-22
  • 打赏
  • 举报
回复
#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[])
{
char ch;
vector<char> vCh;
while (cin>>ch && getchar() != '*')
{
vCh.push_back(ch);
}
vector<char>::iterator it;
printf("The element of the vector is: ");
for (it = vCh.begin(); it != vCh.end(); it++)
{
printf("%c ", *it);
}
printf("\n");

system("PAUSE");
return EXIT_SUCCESS;
}
千杯不醉-sen 2010-10-22
  • 打赏
  • 举报
回复

int main()
{
int i = 0,count = 0;
char c,*p = NULL;
while( (c=getchar()) != '\n')
{
++count;
p = (char *)realloc(p,count);
p[i++] = c;
}
p[i] = '\0';
for(i=0; i<(int)strlen(p); ++i)
printf("%c",p[i]);
printf("\n");
return 0;
}
Zyaire Yolo 2010-10-22
  • 打赏
  • 举报
回复
有两种方法:
1,不爽,需手动输入数组大小;
#include<iostream>
#include <string.h>
using namespace std;
int main()
{
int N;
cout<<"请输入数组长度:";
cin>>N;

char *f=new char[N];//动态分配数组

cout<<"请输入数组的数值:";
for(int i=0;i<N;i++)
{
cin>>f[i];
}
delete f;
return 0;
}
2,灵活,但要会vect:
//已输入*结束,*不在字符数组之内
#include <iostream>
#include <vector>
using namespace std;
int main()
{

char ival;
vector<char> ivec;
cout<<"Please enter some numbers to ivec"<<endl;
while(cin>>ival,ival!='*'){
ivec.push_back(ival);
}
/* 需要显示时可去掉注释 int length = ivec.size();
char *ia = new char[length];//定义并初始化一个动态数组,数组的维数(VECTOR的长度)在编译时不知道,在运行时才知道。

for(vector<char>::iterator iter = ivec.begin(); iter!=ivec.end();++iter){

*ia=*iter;

cout<<*ia<<endl;
}
delete [] ia;
*/
cout<<"ivec的长度是:"<<ivec.size()<<endl;

return 0;

}
wsgongdehong 2010-10-22
  • 打赏
  • 举报
回复
#include <vector>
#include <iostream>

using namespace std;

int main()
{
vector<char> vec;
char cha;
int n=0;
while(cin>>cha)
{
vec.push_back(cha);
++n;
cout<<"输入的次数:"<<n<<endl;
cout<<"数组的大小:"<<vec.size()<<endl;
}
}
gules 2010-10-22
  • 打赏
  • 举报
回复
char ch;
vector<char> vec;
while(cin>>ch)
vec.push_back(ch);

输入数据完成后回车,输入Ctrl-Z回车结束。
crtlcd987 2010-10-22
  • 打赏
  • 举报
回复
如果会的话,麻烦写下代码
感激不禁啊~~~~~~~~

#include<iostream>
using namespace std;
int main()
{




………………
return 0;
}
modyaj 2010-10-22
  • 打赏
  • 举报
回复
那就动态分配啊

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧