哈尔滨工业大学2010计算机专业机试编程半岛在线注册真题带答案(3)

本站小编 半岛在线注册/2016-02-06


            if(a[i]>a[maxi])
            {
                maxi=i;
            }
            if(a[i]<a[mini])
            {
                mini=i;
            }
        }
        temp=a[maxi];
        a[maxi]=a[mini];
        a[mini]=temp;
        for(i=0;i<n-1;i++)
        {
            printf("%d ",a[i]);
        }
        printf("%d\n",a[i]);
    }
    return 0;
}


题目描述:
输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。
输入:
测试数据有多组,输入字符串。
输出:
对于每组输入,输出处理后的结果。
样例输入:
bacd
样例输出:
abcd

参考答案:
/*----------------------------------------------------------------------
1.统计a~z个数,存入c[26]中;
2.根据c[i],打印c[i]个ASCII码为97+i的字符;
-----------------------------------------------------------------------*/
#include<stdio.h>
#include<string.h>
int main()
{
    int i, j, k, c[26]={0};
    char a[202];
    while(scanf("%s",a)!=EOF)
    {
        j=strlen(a);
        for(i=0;i<j;i++)
        {
            k=a[i];
            c[k-97]++;
        }
        for(i=0;i<26;i++)
        {
            for(j=0;j<c[i];j++)
            {
                k=97+i;
                printf("%c",k);
            }
        }
        for(i=0;i<26;i++)
        {
            c[i]=0;
        }
        printf("\n");
    }
    return 0;
}
 

相关话题/计算机