编写一个sort()函数,实现选择法排序,在主函数中输入10个整数,主函数调用sort()函数实现排序后将数据输出。
重赏重赏
更新时间:2019-05-06 04:06
最满意答案
#include
void sort(int a[])
{
int i,j,index,temp;
for(i=0;i<10;i++)
{
index=i;
for(j=i+1;j<10;j++)
{
if(a[index]>a[j])
index=j;
}
temp=a[i];
a[i]=a[index];
a[index]=temp;
}
}
int main()
{
int i,a[10];
printf("please input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a);
printf("the result is: ");
for(i=0;i<10;i++)
printf("%d ",a[i]);
getch();
}
相关问答
#include void sort(int a[]) { int i,j,index,temp; for(i=0;i<10;i++) { index=i; for(j=i+1;j<10;j++) { if(a[index]>a[j]) index=j; } temp=a[i]; a[i]=a[index]; a[index]=temp; } } int main() { int i,a[10]; printf("please input 10 numbers:"); for(
...
#define SORT_ASC 1 #define SORT_DES 2 void sort(int a[10], int type) { int i,j,k,x; bool change = false; for(i=0;i<=9;i++) for(j=i;j<=9;j++) { if(type == SORT_ASC) { if (a[i]>a[j]) change = true; } else if (type == SORT_DES) { if (a[i] 评论0 1 1 加载更多
#include // 头文件 main() { void sort(int x[],int n); 声明函数 int *p,i,a[10]; p=a; p指向a的第一个元素 for(i=0;i<10;i++) scanf("%d",p++); 输入10个整数,作为a[10]的值 p=a; q指向a的首地址 sort(p,10); 对a的10个元素进行排序 for(p=a,i=0;i<10;i++) {printf("%d",*p);p++;} 打印出a的所有数值 } void sort(int
...
修改成:元素个数n也可以输入的方式了! #include <stdio.h> #define N 100 void sort(int a[N],int n) { int i,j,temp; for(i=0;i<n-1;i++) for(j=n-1;j>i;j--) if(a[j]<a[j-1]) { temp=a[j]; a[j]=a[j-1]; a[j-1]=temp; } } int main() { int a[N], n,i; printf("输入元素的个数:
...
#include #include #include #define MAXlen 100 void select_sort(int *x, int n) { //选择排序 int i, j, min; int t; for (i = 0; i < n - 1; i++) { // 要选择的次数:0~n-2共n-1次 min = i; // 假设当前下标为i的数最小,比较后再调整 for (j = i + 1; j < n; j++) {
...
题主你好,很高兴回答你的问题。这种经典的算法会有很多种语言的实现方法,你可以直接搜索下“冒泡排序”,点开百科里面就有,随便改下就行了。希望能帮到你,望采纳 #include #defineSIZE8 voidbubble_sort(inta[],intn); voidbubble_sort(inta[],intn)//n为数组a的元素个数 { inti,j,temp; for(j=0;j a[i+1])// 数组元素大小按升序排列 { temp=a[i]; a[i]=a[i+1]; a[i+1]=
...
第二行的宏N 可以改成你想要的值, #include #define N 4 int sort(int * Array1, int n) { for(int i = n -1;i > 0;i --) for (int j =0;j < i ;j++) { if (Array1[j] > Array1[i]) { int temp = Array1[j]; Array1[j] = Array1[i]; Array1[i] = temp; } } return 1; } void main() { i
...
让我们一步一步地分解您的代码。 [1,4,5,6,7,2,3]
这是一个数组文字。 也就是说,写[1,4,5,6,7,2,3]有点像说new Array(1,4,5,6,7,2,3) 。 简单地说,数组文字计算到具有所描述内容的新数组。 [1,4,5,6,7,2,3]["sort"]
现在这一点很有意思,因为知道[]创建数组文字使我们认为["sort"]也是一个数组文字。 不完全 - 这是Javascript 括号表示法的一个示例,我们使用语法someObject["propertyName"
...
请考虑以下代码: #include
using namespace std;
// Exchanges two values in array arr, specified by indices i and j
void exchange(int arr[], int i, int j)
{
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
// Prints an array arr of lengt
...
sort.Ints需要一片int,而不是数组。 最容易修复就是改变 sort.Ints(arr)
至 sort.Ints(arr[:])
sort.Ints expects a slice of int, not an array. Easiest fix is to change sort.Ints(arr)
to sort.Ints(arr[:])