c语言编程,输入一行字符串,要求: 1,统计字符个数。2,原序输出。3,逆序输出。3,按从小到大输

c语言编程,输入一行字符串,要求:
1,统计字符个数。2,原序输出。3,逆序输出。3,按从小到大输出。拜托各位大神了

第1个回答  2013-11-12
#include <stdio.h>

int main()
{
int clu_ch_num(char p[]);
void inv_str(char p[],int);
void c_bub(char p[],int);
char s[50];
int n;
printf("Please input a string: \n");
scanf("%s",s);
n=clu_ch_num(s);
printf("The number of char in the string is: %d\n",n);
printf("%s\n",s);
inv_str(s,n);
printf("%s\n",s);
c_bub(s,n);
printf("%s\n",s);
return 0;
}

int clu_ch_num(char p[])
{
int i;
for(i=0;;i++)
if(p[i]=='\0')
return i;
}

void inv_str(char p[],int n)
{
int i;
char t;
for(i=0;i<n/2;i++)
{
t=p[i];
p[i]=p[n-1-i];
p[n-1-i]=t;
}
}

void c_bub(char p[],int n)
{
int i,j,m,k;
char t;
k=0;
m=n-1;
while(k<m)
{
j=m-1;
m=0;
for(i=k;i<=j;i++)
if(p[i]>p[i+1])
{
t=p[i];
p[i]=p[i+1];
p[i+1]=t;
m=i;
}
j=k+1;
k=0;
for(i=m;i>=j;i--)
if(p[i]>p[i+1])
{
t=p[i];
p[i]=p[i+1];
p[i+1]=t;
m=i;
}
}
}
第2个回答  2013-11-12
#include <stdio.h>
#include <string.h>

#define MAX 10000

int main()
{
char str[MAX];
scanf("%s",str);
printf("%d,%s,%s\n",strlen(str),str,strrev(str));
return 0;
}

直接凭感觉敲的,至于排序,那个你请参考qsort快排函数,很简单本回答被提问者和网友采纳
第3个回答  2013-11-12
顺序和逆序的用字符串函数搞定,排大小的话根据ASCII码排序就可以拉追问

求程序源代码

追答

思路给你了,好歹自己思考一下,鄙视上来就要代码的
唉,我对C语言的函数不怎么熟,要不就给你写了,只是怕丢人啊