08、06上海C语言答案

发布时间:2024-05-21 18:48 发布:上海旅游网

问题描述:

RT 跪求。。。

问题解答:

#include <stdio.h>
#include <stdlib.h>

void sort(int a[],int n)
{
int temp,min;
for(int i=0;i<n;i++)
{
min=i;//先假设最小下标为i
for(int j=i+1;j<n;j++)
if(a[j]<a[min])
min=j;//对i之后的数进行扫描将最小的数赋予min
if(min!=i)
{
temp=a[i];
a[i]=a[min];
a[min]=temp;
}//判断min与i是否相等,若=则说明原假设正确,反之交换数值
}
}

int ProcMin (int a[],int n)
{
for(int i=0;i<n;i++)
a[i]=rand()%101+300;//随即产生300-400之间的数
sort(a, n);//排序(从小到大)
return a[0];//输出最小值
}

void main()
{
int *a;
a=new int [10];
for(int i=0;i<10;i++)
a[i]=0;
int data=ProcMin(a,10);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("The minimal data is: %d\n", data);
}

热点新闻