#include
#include
int main(void)
{
int n = 0, i;
int min = 0,minpos = 0;
int* a = NULL;
printf("请输入你要输入多少整数\n");
scanf("%d",&n);
a = (int*)malloc(n*sizeof(int));
if(a == NULL) return -1;
printf("请输入这%d个整数\n",n);
for(i=0; i
scanf("%d",a+i);
if(*(a+i)<2 || *(a+i)>10)
{
printf("重新输入\n");
}else{
i++;
}
}
min = *a;
for(i=0; i
if(*(a+i) < min)
{
min = *(a+i);
minpos = i;
}
}
printf("最小数%d,位置%d\n",min, minpos+1);
*(a+minpos) = *a;
*a = min;
for(i=0; i
printf("%d\t",*(a+i));
}
return 0;
}
//当输入的数可以重复的时候,暂时没考虑这个,需要的话,直接修改存储变量的代码即可
#include
#include
#define MAX 10
int main()
{
int num[MAX], n, min_index;
int i;
//输入并判断n
while(1)
{
printf("请输入n的值(1 < n <= 10):");
scanf("%d", &n);
if(n > 1 && n <= 10)
{
break;
}
else
{
printf("n的值不符合条件,请重输\n");
}
}
//给数组赋值
for(i = 0; i < n; i ++)
{
printf("请输入第 %d 个整数:");
scanf("%d", &num[i]);
}
//找出最小数并记录下标
min_index = 0;
for(i = 1; i < n; i ++)
{
if(mun[i] < num[min_index])
{
min_index = i;
}
}
//输出最小值和对应下标
printf("最小值是:%d,它对应的下标是:%d", mun[min_index], min_index);
//最小值与第一个数交换
i = num[0];
num[0] = num[index];
num[index] = i;
//输出交换后的结果
printf("交换后的数:");
for(i = 0; i < n; i ++)
{
printf("%d\t", num[i]);
}
return 0;
}