输入n个数保存到数组中找出这n个数的最小值和它的位置,然后把它和数组最前面的元素对调

#include<stdlib.h>#include<stdio.h>intmain(){intDat[n];intMinI=0;inttmp,i,j;printf("请... #include <stdlib.h>
#include <stdio.h>
int main()
{
int Dat[n];
int MinI=0;
int tmp,i,j;

printf("请输入10个整数:\n");
for( i=0; i<10; i++ )
{
scanf("%d",&Dat[i]);
if( i=1 ) j=i;
if( Dat[MinI] > Dat[i] ) MinI=i;//记录最小值的标号
}
printf("\n");

printf("调整前:\n");
for( i=0; i<n; i++ )
{
printf("%d ",Dat[i]);
}
printf("\n");

//交换
tmp=Dat[j];
Dat[j]=Dat[MinI];
Dat[MinI]=tmp;

printf("调整后:\n");
for( i=0; i<n; i++ )
{
printf("%d ",Dat[i]);
}
printf("\n");
return 0;
}
帮忙该下 如果可以的话附带下流程图
今天4点之前 明天要交
谢了啊
展开
 我来答
百度网友bf81b09
2011-09-02 · 超过90用户采纳过TA的回答
知道小有建树答主
回答量:352
采纳率:0%
帮助的人:272万
展开全部
int data[20]={0};
int min =0;
int i=0;
printf("请输入10个整数");
for(i=0;i<10;i++) //输入10个整数
{
scanf("%d",data[i]);
}
//找出10个数中最小的
int pos=0;
min = data[0]; //假设首元素的值最小
for(i=0;i<10;i++)
{
if(min>data[i]) //将min与数组中所有的元素进行比较
{
min = data[i];//如果min比某个元素值大,就把那个元素赋值给min
pos = i; //并保存最小元素的位置
}
}
//将最小值的和首元素交换
int ntemp=0;
ntemp=data[pos]; //将最小值放到一个临时变量里边
data[pos] = data[0]; //把首元素赋给最小值的位置
data[0]=ntemp; //把最小值赋给首位置

没有工具流程图画不出来了.我相信注释已经写的很清楚了.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式