| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1027 人关注过本帖
标题:从小到大输出字符串?
只看楼主 加入收藏
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
结帖率:56.6%
收藏
已结贴  问题点数:6 回复次数:9 
从小到大输出字符串?
#include<stdio.h>

int main()
{void min(char a[],char b[]);
char a[10],b[10];
scanf("%s",a);
min(a,b);
printf("%s\n",b);
return 0;
}
void min(char a[],char b[])
{int i,j,t;
for(i=0;(i<9)&&(a[i]!='\0');i++)
for(j=i+1;(j<10)&&(a[j]!='\0');j++)
if(a[i]>a[j])
{t=a[i];
a[i]=a[j];
a[j]=t;
}
}
输入一个字符串,然后从小到大输出这个字符串。但是为什么我的总是有乱码?
搜索更多相关主题的帖子: return 字符串 
2016-12-19 15:30
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:3 
#include<stdio.h>

 int main()
 {
    void min(char a[], char b[]);
    char a[10], b[10];
    scanf("%s", a);
    min(a, b);
    printf("%s\n", b);
    return 0;
 }
 
 void min(char a[],char b[])
 {
     int i, j;
    char t;
     for(i = 0; (i<9) && (a[i]!='\0'); i++)
     {
         for(j = i+1; (j<10) && (a[j]!='\0'); j++)
           if(a[i] >= a[j])
           {
             t = a[i];
             a[i] = a[j];
             a[j] = t;
           }
         b[i] = a[i];
     }
 }

早知做人那么辛苦!  当初不应该下凡
2016-12-19 15:42
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
删除

早知做人那么辛苦!  当初不应该下凡
2016-12-19 15:42
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
收藏
得分:0 
回复 2楼 炎天
你这个运行还是有乱码。我后来发现我自己写的那个b【】就是多余了,删掉他,就好了!
2016-12-19 18:24
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10566
专家分:43004
注 册:2014-5-20
收藏
得分:2 
以下是引用troyzyc在2016-12-19 15:30:06的发言:

#include<stdio.h>

int main()
{void min(char a[],char b[]);
char a[10],b[10];
scanf("%s",a);
min(a,b);
printf("%s\n",b);
return 0;
}
void min(char a[],char b[])
{int i,j,t;
for(i=0;(i<9)&&(a!='\0');i++)
for(j=i+1;(j<10)&&(a[j]!='\0');j++)
if(a>a[j])
{t=a;
a=a[j];
a[j]=t;
}
}
输入一个字符串,然后从小到大输出这个字符串。但是为什么我的总是有乱码?

printf("%s\n",b);
改为:
printf("%s\n",a);
2016-12-19 20:50
神月泽夜
Rank: 1
等 级:新手上路
帖 子:24
专家分:9
注 册:2016-11-29
收藏
得分:0 
t的类型不对吧,还有看不懂你的b是干嘛的啊
2016-12-20 20:04
搬砖
Rank: 2
等 级:论坛游民
帖 子:68
专家分:37
注 册:2016-10-13
收藏
得分:0 
回复 5楼 吹水佬
t类型不对,为什么还能够运行正确?求教。
2016-12-20 20:12
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:1 
回复 7楼 搬砖
t=a[i];意思就说把a[i]的ASCII码付值给t,t得到的是A码~实质计算机储存数据都是用二进制储存的~不输出t,问题应该不大~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-20 20:16
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10566
专家分:43004
注 册:2014-5-20
收藏
得分:0 
以下是引用搬砖在2016-12-20 20:12:04的发言:

t类型不对,为什么还能够运行正确?求教。

这样可以的,如:
int t='a'; //t=97
char a=97; //a='a'

[此贴子已经被作者于2016-12-20 20:28编辑过]

2016-12-20 20:27
搬砖
Rank: 2
等 级:论坛游民
帖 子:68
专家分:37
注 册:2016-10-13
收藏
得分:0 
回复 9楼 吹水佬
懂了,感谢
2016-12-20 21:14
快速回复:从小到大输出字符串?
数据加载中...
 
   



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

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