| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 878 人关注过本帖
标题:输入字符型数组多个,最后要求用#号结束
只看楼主 加入收藏
丽娜13
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:21
专家分:18
注 册:2014-6-20
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:14 
输入字符型数组多个,最后要求用#号结束
char s[100];
while (cin>>s……)
输入多个字符型数组,最后用#号结束程序,后面要怎么写。。。。
2014-07-14 14:04
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:3 
晕呀,你这么提问是没有多少人回答你的,你要能写多少写多少,在哪里除了问题,再问!基本判断会吗?输入sanf会用吗?

我不是砖家,要努力成为砖家。
2014-07-14 14:13
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
作为c++的使用者  一般来说 我们就不使用char* 来操作字符串了

程序代码:
#include<iostream>
#include<string>

using namespace std;

int main(void)
{
    string s[100];
    int i=0;
    while(1)
    {
        getline(cin,s[i]);
        if(s[i]=="#") break;
        i++;
    }
    cout<<"以下是您所输入的字符串:"<<endl;
    for(i=0;i<5;i++) cout<<s[i]<<endl;
    return 0;
}     

DO IT YOURSELF !
2014-07-14 14:48
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
不过是否需要添加 for(i=0;i<5;i++) s[i].~string(); 来释放内存 或者说 如此释放内存方式是否正确 我也不是很了解

DO IT YOURSELF !
2014-07-14 14:50
丽娜13
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:21
专家分:18
注 册:2014-6-20
收藏
得分:0 
回复 2 楼 砖家的谎言
会scanf,但我一般写cin,gets一些输入。。。。

我是一只小菜鸟呀小菜鸟,怎么飞也飞也飞不高T-T
2014-07-14 15:23
丽娜13
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:21
专家分:18
注 册:2014-6-20
收藏
得分:0 
回复 3 楼 wp231957
so nice thank you.作为学c++不久的小菜鸟来说。。。。写起程序来真的真的像个白痴

我是一只小菜鸟呀小菜鸟,怎么飞也飞也飞不高T-T
2014-07-14 15:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
什么叫“字符型数组”?还多个?

授人以渔,不授人以鱼。
2014-07-15 09:15
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
程序代码:
// g++ -Wall -march=corei7-avx -Ofast -msse4.2 -mavx -std=c++11 a.cpp -lm -o a
#include <iostream>
#include <vector>
#include <string>

using std::cout;
using std::cin;
using std::endl;
using std::vector;
using std::string;

int main(void)
{
    vector<string> vec_str;
    string tmp("");
    while (cin >> tmp && tmp != "#")
    {
        vec_str.push_back(tmp);
    }
    for (vector<string>::iterator i = vec_str.begin(); i != vec_str.end(); ++i)
    {
        cout << *i << endl;
    }
   
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册


2014-07-15 10:49
zhuix7788
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2014-7-7
收藏
得分:3 
int main()
{
    char s[100]={0};
    char* p=s;
    cin>>*p;
    while( *p!='#' )
    {
        p++;
        cin>>*p;
    }
    *p='\0';
    cout<<s<<endl;
}
2014-07-15 16:02
zhuix7788
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2014-7-7
收藏
得分:0 
回复 3 楼 wp231957
你的程序只能检测输入为单个#时break,如果一次输入较多的话不行。
比如:
输入 abc#abc 回车仍然不能结束程序,只有输入单独#时会结束。
2014-07-15 16:22
快速回复:输入字符型数组多个,最后要求用#号结束
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019371 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved