这道题怎么做???
从键盘上输入20个字符存放到一个字符数组s中.对数组s中的元素按升序由小到大排序.再将排序后的结果写到c;\abc.dat文本文件中
#include<stdio.h> void bubblesort(int list[],int last) {int temp; for(int current=0;current<last;current++) {for(int walk=last-1;walk>current;walk--) { if(list[walk]>list[walk-1]) { temp=list[walk]; list[walk]=list[walk-1]; list[walk-1]=temp; } } } return; } int main(void) {int array[20]; int i; for(i=0;i<20;i++) scanf("%d",&array[i]); printf("排序前的数组为:\n\n"); for(i=0;i<20;i++) printf("%4d",array[i]); bubblesort(array,20); printf("\n\n排序后的数组为:\n\n"); for(i=0;i<20;i++) printf("%4d",array[i]); printf("\n\n"); return 0; }
#include <stdio.h> #include <iostream> #include <string> using namespace std; void SelectSort(char a[],int n) { cout<<"选择排序之后:"<<endl; int k; char temp; for(int i=0;i<n-1;i++) { k=i; for(int j=i+1;j<n;j++) { if(a[j]<a[k]) k=j; } if(i!=k) { temp=a[i]; a[i]=a[k]; a[k]=temp; } } } main() { char a[20] = {0}; gets(a); ::SelectSort(a,strlen(a)); puts(a); FILE *fp = fopen("C:\\abc.txt","w"); fprintf(fp,"%s\n",a); }这样就可以了