当前位置:   article > 正文

在字符串Str中找出ASCII最大的字符,将其放在第一的位置,其余字符向后顺序移动_在【1】处补充程序段,使程序实现功能:将字符串s中ascii码值最大的字符交换到串的

在【1】处补充程序段,使程序实现功能:将字符串s中ascii码值最大的字符交换到串的

在字符串Str中找出ASCII最大的字符,将其放在第一的位置,其余字符向后顺序移动

我们可以这样做,先看代码:
先定义函数部分

#include<stdio.h>
void fun(char *p){
	char max,*q;
	int i = 0;
	max = p[i];
	while(p[i] != 0){
		if(max < p[i]){
		max = p[i];
		q = p + i;
	    }
	    i++;
	}

	while(q > p){
		*q = *(q-1);
		q--;
	}//保证第一位空出来,给最大值 
	p[0] = max;	
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

main函数测试一下

int main(){
	char str[80];
	printf("输入字符串:\n"); 
	gets(str);
	printf("原始字符串为:\n");
	puts(str);
	fun(str);
	printf("排序后的字符串为:\n");
	puts(str);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出:
效果达到

全部代码:

#include<stdio.h>
void fun(char *p){
	char max,*q;
	int i = 0;
	max = p[i];
	while(p[i] != 0){
		if(max < p[i]){
		max = p[i];
		q = p + i;
	    }
	    i++;
	}

	while(q > p){
		*q = *(q-1);
		q--;
	}//保证第一位空出来,给最大值 
	p[0] = max;	
}
int main(){
	char str[80];
	printf("输入字符串:\n"); 
	gets(str);
	printf("原始字符串为:\n");
	puts(str);
	fun(str);
	printf("排序后的字符串为:\n");
	puts(str);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/310070
推荐阅读
相关标签
  

闽ICP备14008679号