本帖最后由 脸皮猴 于 2014-3-3 10:33 编辑
我觉得一定要用冒泡法的话可以降ABCD的值先存入一个int型数组中,然后对应这个顺序将各个变量的名称存入一个char型数组中,再对int型数组进行冒泡排序的时候,将char行数组中的变量名称也进行一样的调换时钟保证数组中数据的顺序和char型数组中变量的顺时一一对应的。代码如下:(建议你自己可以敲一敲,还有就是这肯定是要理解冒泡)
#include <stdio.h>
void mao_pao(int data[],char name[],int n)
{
int i,j,temp;
char name_temp;
//外循环需要需要n-1次
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(data[j]<data[j+1])
{
//交换 data[j]和 data[j+1]的值
temp = data[j];
name_temp = name[j];
data[j] = data[j+1];
name[j] = name[j+1];
data[j+1] = temp;
name[j+1] = name_temp;
}
}
}
}
int main()
{
int A=5,B=2,C=7,D=6;
int a[4]={A,B,C,D};
char b[4]={'A','B','C','D'};
int i;
mao_pao(a,b,4);
for(i=0;i<4;i++)
{
printf("%c=%d\n",b,a);
}
}
|