这道题怎么做???
从键盘上输入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);
}
这样就可以了
