2021-11-07---在主程序中输入10个字符串,调用sort函数进行冒泡排序,在主函数中输出排序结果

每日一题

在主程序中输入10个字符串,调用sort函数进行冒泡排序,在主函数中输出排序结果字符串排序方式(按字母序递增用1表示,按字母序递减用0表示)和待排序的字符串由参数传递给sort函数。要求自行设计sort 函数,在主函数中,输入、输出应有相应提示。

#include<stdio.h>
#include<string.h> 
void sort(char str[],int a);
int main(){
	int i=0;
	int a; 
	char str[20];
	
	while(i<10){
		printf("请输入字符串\n"); 
		scanf("%s",str);
		//getchar();
		printf("请输入排序方式:0/1\n");
		scanf("%d",&a);
		sort(str,a);	
	}

	
	return 0;
}

void sort(char str[],int a){
	int i,j;
	char temp;
	if(a==1){
		for(i=0;i<strlen(str)-1;i++){  //n-1躺排序 
			for(j=0;j<strlen(str)-i-1;j++){  //每趟进行 n-i-1比较 
				if(str[j]>str[j+1]){
					temp=str[j];
					str[j]=str[j+1];
					str[j+1]=temp;
				} 
			} 
		}
		
	}
	if(a==0){
		for(i=0;i<strlen(str)-1;i++){  //n-1躺排序 
			for(j=0;j<strlen(str)-i-1;j++){  //每趟进行 n-i-1比较 
				if(str[j]<str[j+1]){
					temp=str[j];
					str[j]=str[j+1];
					str[j+1]=temp;
				} 
			} 
		}
		
	}
	printf("排序后的结果为:%s\n",str);
	
}

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值