解题思路:用两个变量t1,t2复制数组第一个数和最后一个数,分别以他们为标兵,进行比较,再用新变量n1,n2复制符合条件的下标,
再用a[n1/n2]=t1/t2来把对应的原值复制到下标为n1/n2的位置
注意事项:要分别用for循环来比较,不然a[0] 或a[9]不对
参考代码:
#include<stdio.h>
#define n 10
void paixu(int a[])
{
int i,n1,t1=a[n-1],n2,t2;//t1复制数组最后一位数
for(i=0;i<n;i++)
{
if(a[n-1]<a[i])
{
a[n-1]=a[i];//将数组中最大的数复制到数组的最后一位
n1=i;//复制数组中最大的数的下标
}
}
a[n1]=t1;
t2=a[0];//排好最大的数后将a[0]的值复制给t2
for(i=0;i<10;i++)
{
if(a[0]>a[i])
{
a[0]=a[i];//将数组中最小的数复制到第一位
n2=i;//复制数组中最小的数的下标
}
a[n2]=t2;
}
}
void output(int a[])
{
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
int main()
{
int i;
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
paixu(a);
output(a);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.1 (Java代码)浏览:481 |
【回文数(二)】 (C语言代码)浏览:800 |
大小写转换 (C语言代码)浏览:904 |
淘淘的名单 (C语言代码)答案错误???浏览:624 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:504 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:1024 |
C语言训练-亲密数 (C语言代码)浏览:697 |
DNA (C语言代码)浏览:564 |
1017题解浏览:663 |
C语言训练-亲密数 (C语言描述,反正怎么都能对)浏览:2256 |