| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1097 人关注过本帖
标题:为什么不修改最后一个?
只看楼主 加入收藏
猴开森
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2016-11-27
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:2 
为什么不修改最后一个?
4.    比较字符串的大小。
 实验要求:从键盘接收5个字符串,输出最大和最小的字符串到显
 示屏。要求编写完整的程序;分别使用字符数组和string类型来实
          现。
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
    char str[5][100];
    int i;
    for(i=0;i<5;i++)
    {
        cin>>str[i];
    }

    for(i=0;i<5;i++)
    {
        if(strcmp(str[0],str[i])<0)
        {
            strcpy(str[0],str[i]);
        }


          if(strcmp(str[4],str[i])>0)
        {
            strcpy(str[4],str[i]);
        }
    }


    cout<<str[0]<<endl;
    cout<<str[4]<<endl;


   return 0;
}
2017-03-15 09:10
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:10 
for循环里面都把原始数据修改了还怎么比较,
可以另外定义两个字符串分别保存最大最小字符串

下次请将问题描述的更具体些

早知做人那么辛苦!  当初不应该下凡
2017-03-15 09:25
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54066
注 册:2011-1-18
收藏
得分:10 
为什么不修改最后一个?
最起码你应该告诉别人:你输入了什么,输出什么。
从你的代码看,你这算法错得太离谱了

另外,C++不是这么写的,我来演示一下吧
程序代码:
#include <string>
#include <algorithm>
#include <iterator>
#include <iostream>
using namespace std;

int main( void )
{
    string s[5];

    // 输入5个string
    auto endp = copy_n( std::istream_iterator<remove_reference_t<decltype(*s)>>(cin), std::size(s), s );
    // 如果输入成功
    if( endp == end(s) )
    {
        // 找出最小最大值
        auto itors = minmax_element( begin(s), end(s) );
        // 输出最小最大值
        cout << *get<0>(itors) << endl;
        cout << *get<1>(itors) << endl;
    }
}

2017-03-15 09:50
快速回复:为什么不修改最后一个?
数据加载中...
 
   



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

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