#include <stdio.h>
#define N 5
int main()
{
int arr[N];
int i,min,j,tmp;
printf("输入5个数字: ");
for(i=0;i<N;i++)
scanf("%d",&arr[i]);
for(i=0,min=arr[0];i<N;i++){
if(min>arr[i]){
min=arr[i];
j=i;
}
}
arr[j]=arr[0];
arr[0]=min;
printf("输出结果为: ");
for(i=0;i<N;i++)
printf("%d ",arr[i]);
printf("\n");
return 0;
}
追问数组运用到了 可是指针呢😭 必须要用到指针呢
追答噢噢,好的,我修改下代码吧。修改后的代码如下:
#include <stdio.h>
#define N 5
int main()
{
int arr[N];
int *p,*q; //指针p用来遍历数组元素,指针q用来指向当前的最小值元素
printf("输入5个数字: ");
for(p=arr;p<arr+N;p++)
scanf("%d",p);
for(p=q=arr;p<arr+N;p++){
if(*q > *p)
q=p;
}
arr[0]= *q;
*q=arr[0];
printf("输出结果为: ");
for(p=arr;p<arr+N;p++)
printf("%d ",*p);
printf("\n");
return 0;
}
追问
出错了🙄
一点小问题 我自己改了下 加了个变量t 把它们替换下就行了
还是谢谢你了
😊😊😊😊😊