每日一题
在主程序中输入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);
}
运行结果