| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 790 人关注过本帖
标题:求解一个C语言问题,如下 ?
只看楼主 加入收藏
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
结帖率:93.75%
收藏
已结贴  问题点数:15 回复次数:12 
求解一个C语言问题,如下 ?
在屏幕上随便输入一行字符串,然后按照ASCII排序从小到大输出到屏幕上。
示例:
Please Enter Strings:
2395nAg
Sort Result Is:
2
3
5
9
g
n
A
do you want to continue?(Y\N)
Y--->退出
N--->重复
Please Enter Strings:
搜索更多相关主题的帖子: 字符串 C语言 
2011-05-17 15:20
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
程序代码:
char a[100],c;
int i,j;
gets(a);
for(i=0;i<strlen(a);i++)
for(j=0;j<strlen(a);j++)
if(a[i]>a[j])
{c=a[i];a[i]=a[j];a[j]=c;}
for(i=0;i<strlen(a);i++)
printf("%c\n",a[i]);
2011-05-17 15:44
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
收藏
得分:0 
回复 2楼 hjywyj
还要完成  do you want to continue?(Y\N)
           Y--->退出
           N--->重复
Please Enter Strings:  
的功能 ??
2011-05-17 15:54
墨竹
Rank: 2
等 级:论坛游民
帖 子:29
专家分:39
注 册:2011-5-16
收藏
得分:5 
#include <stdio.h>

#define N 80

void main()
{
char s[N],*p,temp;
int f_whl=1,f_srt;
while(f_whl==1)
{printf("Please Enter Strings:\n");
gets(s);
while(1)//冒泡排序
for(p=s+1;*p!=0;p++)
if(*p<*(p-1))
{temp=*p;
*p=*(p-1);
*(p-1)=temp;
f_srt=1;
}
if(f_srt==0)
break;
f_srt=0;
}
//输出
printf("Sort Result Is:\n");
for(p=s;p!=0;p++)
printf("%c\n",*p);
do
{
printf("do you want to continue?(Y\N)\n
Y--->退出
\nN--->重复\n");
temp=getchar();
if(temp=='Y')
f_whl=0;
else if(temp!='N')
f_whl=-1;
}while(f_whl==-1)
}
2011-05-17 16:46
墨竹
Rank: 2
等 级:论坛游民
帖 子:29
专家分:39
注 册:2011-5-16
收藏
得分:0 
这个我没有调试,大体内容应该就是这样的。。。
2011-05-17 16:47
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
程序代码:
root@~ #cat 15.c
#include <stdio.h>

int main (void) {

        char str[80],*ptr=str,*p=ptr,temp;
        int i,j;

        while(1) {
                gets(ptr);
                for(i=0;*(ptr+i)!='\0';i++) {
                        for(j=i+1;*(ptr+j)!='\0';j++) {
                                if(*(ptr+i)>*(ptr+j)) {
                                        temp=*(ptr+i);
                                        *(ptr+i)=*(ptr+j);
                                        *(ptr+j)=temp;
                                }
                        }
                }
                while(*ptr) printf("%c\n",*ptr++);

                printf("Press Y continue , any key to exit: ");
                temp=getchar();
                getchar();
                if(temp!='y') break;
        }
        return 0;
}

root@~ #./15
asdf
a
d
f
s
Press Y continue , any key to exit: y
3wer
3
e
r
w
Press Y continue , any key to exit: n
root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-17 17:01
keri12
Rank: 2
等 级:论坛游民
帖 子:2
专家分:12
注 册:2011-5-17
收藏
得分:10 
新手小show下
程序代码:
#include <stdio.h>
#include <string.h>

main(void){

    char str[100],flagStr[100] = "N";
    int i,j,k;
    char temp;
    do{
        if(strcmp(flagStr,"N")==0){
            printf("Please Enter Strings:");
            scanf("%s",&str);
            for(i=0;i<strlen(str);i++){
                k = i;
                for(j=i;j<strlen(str);j++){
                    if(str[i]>str[j]){
                        k = j;
                    }
                }
                if(k!=i){
                    temp = str[i];
                    str[i] = str[k];
                    str[k] = temp;
                }
            }
            //输出
            for(i=0;i<strlen(str);i++){
                printf("%c\n",str[i]);
            }
        }       
        printf("do you want to continue?(Y\N)\n");
        printf("Y--->退出\nN--->重复\n");
        scanf("%s",flagStr);
        strupr(flagStr);
               
    }while(strcmp(flagStr,"Y")!=0);

    return 0;
}

 
2011-05-17 17:10
其实、不想说
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:156
注 册:2011-3-3
收藏
得分:0 
ansic果然是高手啊!!!
2011-05-17 17:16
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用其实、不想说在2011-5-17 17:16:33的发言:

ansic果然是高手啊!!!

⊙﹏⊙b汗,才把指针那章学完,得多动手练呀!你说对不

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-17 17:19
墨竹
Rank: 2
等 级:论坛游民
帖 子:29
专家分:39
注 册:2011-5-16
收藏
得分:0 
谢谢ansic了,让我搞明白到底怎么回事了.
2011-05-17 18:41
快速回复:求解一个C语言问题,如下 ?
数据加载中...
 
   



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

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