2个回答
展开全部
#include <stdio.h>
void fun(int a[ ],int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++)
{
k=i; //k的作用是记录要交换的位置
for(j=i+1;j<n;j++)
if(a[j]<a[k])
k=j; //这个循环的作用是找出数组第i个元素以后最小数据
if(k!=i) //如果k不等于i,说明a[i]不是数组第i位到第n位中最小的元素,交换后让其成为最小的
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
}
void main()
{
int a[10],i,k,b[11];
printf("请输入十个数:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
fun(a,10);
printf("重新排序:\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
printf("请输入一个插入的数:\n");
scanf("%d",&k);
for(i=0;i<10;i++)
{
b[i]=a[i];
}
b[10]=k;
fun(b,11);
printf("重新排序:\n");
for(i=0;i<11;i++)
{
printf("%d ",b[i]);
}
printf("\n");
}
void fun(int a[ ],int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++)
{
k=i; //k的作用是记录要交换的位置
for(j=i+1;j<n;j++)
if(a[j]<a[k])
k=j; //这个循环的作用是找出数组第i个元素以后最小数据
if(k!=i) //如果k不等于i,说明a[i]不是数组第i位到第n位中最小的元素,交换后让其成为最小的
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
}
void main()
{
int a[10],i,k,b[11];
printf("请输入十个数:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
fun(a,10);
printf("重新排序:\n");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
printf("请输入一个插入的数:\n");
scanf("%d",&k);
for(i=0;i<10;i++)
{
b[i]=a[i];
}
b[10]=k;
fun(b,11);
printf("重新排序:\n");
for(i=0;i<11;i++)
{
printf("%d ",b[i]);
}
printf("\n");
}
来自:求助得到的回答
展开全部
代码片段:
#include <iostream>
using namespace std;
#define ELEMENT_COUNTS 10 //你数组要多大
void main()
{
int arr[ELEMENT_COUNTS] = {0} ;
int temp = 0; //临时储存
for(int i = 0;i<sizeof(arr)/sizeof(arr[0]);i++)
cin>>arr[i]; //输入
for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
for(int j=0;j<i+1;j++)
if(arr[i]<arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
cout<<arr[i]<<endl;
system("pause");
}
如果有需要你可以改为动态分配
#include <iostream>
using namespace std;
#define ELEMENT_COUNTS 10 //你数组要多大
void main()
{
int arr[ELEMENT_COUNTS] = {0} ;
int temp = 0; //临时储存
for(int i = 0;i<sizeof(arr)/sizeof(arr[0]);i++)
cin>>arr[i]; //输入
for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
for(int j=0;j<i+1;j++)
if(arr[i]<arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
cout<<arr[i]<<endl;
system("pause");
}
如果有需要你可以改为动态分配
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询