| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5822 人关注过本帖
标题:怎样完成在屏幕上随便输入一行字符串,然后按照ASCII排序从小到大输出到屏幕 ...
只看楼主 加入收藏
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
结帖率:93.75%
收藏
已结贴  问题点数:10 回复次数:5 
怎样完成在屏幕上随便输入一行字符串,然后按照ASCII排序从小到大输出到屏幕上?
示例:
Please Enter Strings:
2395nAg
Sort Result Is:
2
3
5
9
g
n
A
搜索更多相关主题的帖子: 字符串 
2011-05-08 13:51
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:2 
程序代码:
root@~ #cat p.c
#include <stdio.h>
#include <string.h>

int main (void) {

        char str[100];
        gets(str);
        void ps(char str[]);
        ps(str);
        return 0;

}
void ps(char str[]) {
        int i,j;
        char t;

        for(i=0;i<strlen(str)-1;i++) {
                for(j=i+1;j<strlen(str);j++) {
                        if(str[i]>str[j]) {
                                t=str[i];
                                str[i]=str[j];
                                str[j]=t;
                        }
                }
        }
        for(i=0;str[i]!='\0';i++) {
                printf("%c\n",str[i]);
        }
}

root@~ #./p
2395nAg
2
3
5
9
A
g
n
root@~ #

PS:在ASCII里,大写是排在小写前面的。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-08 14:04
那年
Rank: 3Rank: 3
来 自:湖南
等 级:论坛游侠
帖 子:83
专家分:141
注 册:2011-5-3
收藏
得分:2 
以下是引用ansic在2011-5-8 14:04:25的发言:

 
root@~ #cat p.c
#include  
#include  
 
int main (void) {
 
        char str[100];
        gets(str);
        void ps(char str[]);
        ps(str);
        return 0;
 
}
void ps(char str[]) {
        int i,j;
        char t;
 
        for(i=0;i
o(︶︿︶)o 唉   没你手快   这题我分没拿了    不知道用另外排序方法  楼主有分加没  嘎嘎


              人生莫大的悲哀是不能坚持,今天计划明天,明天念着后天,这样总难成事。
2011-05-08 14:11
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
收藏
得分:2 
程序代码:
#include <stdio.h>
#include <string.h>
main ()
{

 int i,j;

 char str[100],t;

 gets(str);                     //从键盘输入字符串
  for(i=0;i<strlen(str)-1;i++)
  {
    for(j=i+1;j<strlen(str);j++)
    {
       if(str[i]>str[j])          //比较前后字符
       {
          t=str[i];
          str[i]=str[j];
          str[j]=t;
        }
     }
   }
   for(i=0;str[i]!='\0';i++)
     printf("%c\n",str[i]);           //从小到大输出
   return 0;
   
} 
2011-05-08 17:31
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:2 
char a[100],c;
gets(a);
int i,m,j;m=strlen(a);
for(i=0;i<m;i++)
for(j=0;j<m-1;j++)
if(a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
puts(a);
2011-05-08 18:03
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:2 
程序代码:
#include"stdio.h"
#include"string.h"
#define MAX 100
int main()
{
    char ptr[MAX],temp;
    int i,j;
    printf("请输入一串字符:\n");
    gets(ptr);
    for(i=0;i<strlen(ptr);i++)
        for(j=i+1;j<strlen(ptr);j++)
        {
            if(*(ptr+j)<*(ptr+i))
            {
                temp=*(ptr+j);
                *(ptr+j)=*(ptr+i);
                *(ptr+i)=temp;
            }
        }
    puts(ptr);
    return 0;
}

               
我也试试,虽然没你们快

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-05-08 18:12
快速回复:怎样完成在屏幕上随便输入一行字符串,然后按照ASCII排序从小到大输出 ...
数据加载中...
 
   



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

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