标题:帮我看看如何改进!新手
取消只看楼主
chenxiangcic
Rank: 1
来 自:四川井研
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-11
结帖率:0
已结贴  问题点数:20 回复次数:1 
帮我看看如何改进!新手
输入一个若干字符的字符串,分别找出其中的字母和数字,其余的字符一概忽略。将重复的去掉后,分别按从小到大的顺序排列后输出。

#include"stdio.h"
main()
{
  char str[50],temp;
  int n,i,k;
  printf("Input a string:");
  scanf("%s",str);
  printf("%s\n",str);

    /*此只留数字,大小写字母*/   
  for(n=0;str[n]!='\0';n++)
    {
      if((str[n]>=48&&str[n]<=57)||(str[n]>=65&&str[n]<=90)||(str[n]>=97&&str[n]<=122))

       continue;

         else
            for(k=n; str[k]!='\0';k++)
                str[k]=str[k+1];
                n--;
    }
   printf("\n%s",str);
   printf("\n^o^");

    /*剔除重复的字符*/
   for(n=0;str[n]!='\0';n++)
     for(k=n+1;str[k]!='\0';k++)
      if(str[n]==str[k])
         for(i=k;str[i]!='\0';i++)
            {
            str[i]=str[i+1];
            k--;
           }
   printf("\n%s",str);
   
    /*字符排序*/
   for(n=0;str[n]!='\0';n++)
      for(i=n+1;str[i]!='\0';i++)
         if(str[n]>str[i])
           {
             temp=str[n];
             str[n]=str[i];
             str[i]=temp;
            
           }
      
  printf("\n%s",str);
}


[ 本帖最后由 chenxiangcic 于 2011-10-12 19:36 编辑 ]
搜索更多相关主题的帖子: 字母 如何 continue include 字符串 
2011-10-12 19:08
chenxiangcic
Rank: 1
来 自:四川井研
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-11
得分:0 
谢谢!就是想整合,但绕来绕去整晕了,才分开的。

chenxiangcic
2011-10-13 19:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-352222-1-1.html




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

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