智障菜鸟第二弹

对,没错,智障就是我,我就是智障Xigaga

我又来了。。。

老规矩,先看题,依然来源于codeup,链接懒得发了,主要是最讨厌的是指针,,唉,还是自己水平差,唉,其实我知道是我自己懒,各位看客勿喷...

PS:我这么懒得水平,都敢学编程,你们还怕啥是不是?好吧,怕的好像只有我。。。

言归正传

问题 D: C语言10.15
时间限制: 1 Sec  内存限制: 32 MB
提交: 656  解决: 392
[提交][状态][讨论版][命题人:外部导入]
题目描述
输入3个字符串,按从小到大的顺序输出。要求使用指针的方法进行处理。

输入
3行,每行一个用字符串。保证每个字符串的长度不超过20。

输出
按从小到大的顺序输出这3个字符串,每个字符串一行。
请注意行尾输出换行。

样例输入
China
CLOCK
deal
样例输出
CLOCK
China
deal

此为,我的初稿,嗯,意料之中的编译错误 

#include<iostream>
using namespace std;
#include<string.h>
int main()
{
    string a[3][20];
    int i,j;
    for(i=0;i<3;i++)
    {
        gets(a[i]);
    }
    string max=a[0];
    for(i=0;i<3;i++)
    {
        if(a[i+1][0]>a[i][0])
        {
          swap(a[i+1],a[i]);
        }
    }
    for(i=0;i<3;i++)
    {
        cout<<a[i]<<endl;
    }
    return 0;
}

后来,没错,没忍住,Google了。。。。

然后发现,其实这里面有考到交换(指针),不过解法用到了strcmp(a,b),这个函数,我发现,其实到目前我是第一次用这个函数,唉,真的是书到用时方恨少,多读书,多敲代码啊各位!

然后发现,哎嘿,真的是挺妙的!@-@ 

#include<iostream>
using namespace std;
#include<string.h>
int main()
{
    char a[3][20],*p[3]={a[0],a[1],a[2]};
    char *temp;
    int i,j;
    for(i=0;i<3;i++)
    {
        gets(a[i]);
    }
    for(i=0;i<3;i++)
    {
        for(j=i+1;j<3;j++)
           if(strcmp(p[i],p[j])>0)
           {
              temp=p[i];
              p[i]=p[j];
              p[j]=temp;
            }
    }
    for(i=0;i<3;i++)
    {
        cout<<p[i]<<endl;
    }
    return 0;
}

参考代码来源于:https://blog.csdn.net/zengshunyao/article/details/8915055

说实话,一维好不容易,会了一丢丢,现在又是啥都不会了...唉,温故而知新是多么的重要啊!!!(划重点!!!!!!!)

而碰到二维就傻傻的啥也不会了,全靠瞎写,不知道多年以后,不知道在干什么的自己看到这个会不会哭啊T-T

不会的,会觉得挺有趣的吧!@-@

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值