c语言函数将字符从小到大 c语言将一串字符小写变大写

c语言 在main()函数中输入一个字符串,调用插入排序函数对字符串进行由小到大

首先根据插入排序的原理,设计插入排序函数,函数传入参数是字符串数组和字符串数组的长度,函数无返回值。然后输入字符串,调用函数排序,最后输出排序后字符串。

在祁东等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都网站建设、外贸网站建设 网站设计制作定制网站,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,外贸营销网站建设,祁东网站建设费用合理。

参考代码:

#includestdio.h

#includestring.h

#define MAX 1000

void insert(char *a,int n)

{

int i,j;

char key;

for(i=1;in;i++)//控制需要插入的元素

{

key=a[i]; //key为要插入的元素

for(j=i;j0  a[j-1]key;j--) //查找要插入的位置,循环结束,则找到插入位置

{

a[j] = a[j-1]; //移动元素的位置.供要插入元素使用

}

a[j] = key; //插入需要插入的元素

}

}

int main()

{

char a[MAX];

int n;

gets(a);//输入字符串

n=strlen(a);

insert(a,n);//调用函数排序

printf("after:\n");

puts(a);  

return 0;

}

c语言中从键盘输入N个字符串,将字符串按从小到大的顺序排列并输出

1

输入字符串;

2

对字符串进行排序;

3

输出。

排序中需要注意:

1

用strcmp比较字符串;

2

用strcpy执行字符串的赋值。

代码如下:

#define N 50

int main()

{

char s[N][100];

int i,j;

for(i = 0; i N; i ++)

scanf("%s",s[i]);

for(i = 0; i N-1; i ++)

{

for(j = i+1; j N; j ++)

{

if(strcmp(s[i],s[j])0)

{

char t[100];

strcpy(t,s[i]);

strcpy(s[i],s[j]);

strcpy(s[j],t);

}

}

}

for(i = 0; i N; i ++)

puts(s[i]);

}

C语言中输入一串字符,怎样让它按照字母从小到大的顺序排列?

这可以把字符串输入到字符数组中,然后采用排序的方法来实现:

(需要包含string.h头文件)

char t,s[200];

int i,i;

gets(s);

for(i=0;istrlen(s)-1;i++)

for(j=0;jstrlen(s)-1-i;j++)

if(s[j]s[j+1])

{t=s[j]; s[j]=s[j+1]; s[j+1]=t;}

puts(s);

C语言,用函数对字符数组中存放的若干个字母按从小到大用冒泡法排序

你的字符串输入有问题,还有冒泡排序的几行算法有点问题,我这个应该可以通过#includestdio.h

void

main()

{

char

a[81],temp;

int

i=0,j,k;

scanf("%s",a);

for(j=strlen(a);j0;j--)

for(k=0;kj-1;k++)

if(a[k]a[k+1])

{

temp=a[k];

a[k]=a[k+1];

a[k+1]=temp;

}

printf("%s",a);

}

C语言中字符串从小到大排序

#include stdio.h

#include string.h

void f(char *str)

{

char *p,*q,*r,c;

/*--用选择排序法对字符串str中字符按从小到大排序。找出以下程序段中的错误--*/

for(p=str;*p;p++)

{

for(r=p,q=p+1;*q;q++)

if(*r*q)//应该加*号,不加*号的比较大小是没有意义的,因为r,q是指针,而要比较的是指针指向的地址所储存的变量,

所以要加*号..

r=q;

if(r!=p)

{

c=*r;

*r=*p;

*p=c;

}

}

/*--删除字符串str中的重复字符。找出以下程序段中的错误--*/

for(p=str;*p;p++)

{

for(q=p+1;*q *q==*p;q++)//增加了 *q=*p,这样才能保证当出现相同的字符时才开始操作,过程如下:

假设排好序的字符串为aab;

那么p首先指向a,q指向第二个a,此时满足*p==*q的条件,进入for循环,将q开始的字符串赋给p开始的字符串,即

aab-ab;

如果*p!=*q时,循环结束,大致就是这样子了..

strcpy(p,q--);

}

}

void main()

{

char s[50];

int number=0;

printf("Please enter a string:\n");

gets(s);

f(s);

printf("%s\n",s);

}


本文题目:c语言函数将字符从小到大 c语言将一串字符小写变大写
文章地址:http://pwwzsj.com/article/dodshdh.html