/* 问题2: 输入一个正整数n(1<n<=10),再输入n个整数,将它们存入数组a中。 1.输出最小值和它所在的下标。 2.将最小值与第一个数交换,输出交换后的n个数。 */ #include "stdafx.h" #include "malloc.h" int main(int argc, char* argv[]) { int n, *sz, i, min, tmp; min = 0; printf("请输入数组长度:"); scanf("%d", &n); //动态分配数组空间 sz = (int *)malloc(sizeof(int)*n); //读取数字并记录最小值 printf("请输入%d个数字:", n); for(i=0; i<n; i++) { scanf("%d", &sz[i]); if(sz[min] > sz[i]) { min = i; } } printf("最小值是sz[%d] = %d/n", min, sz[min]); printf("将最小值与第一个数交换,输出交换后的%d个数:/n", n); //交换数字 tmp = sz[0]; sz[0] = sz[min]; sz[min] = tmp; for(i=0; i<n; i++) { printf("%d ", sz[i]); } free(sz); return 0; }