| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
#include<stdio.h> 
int main() 
 
{ 
    int n,i,temp,max,min; 
    scanf("%d",&n); 
        int a[n]; 
        for(i = 0;i < n;i++) 
        { 
                scanf("%d",a[i]); 
        } 
        min = a[0]; 
        max = a[i]; 
        for(i = 0;i < n;i++) 
        { 
                if(a[0] > a[i]) 
                { 
                        temp = min;   //temp = a[0]   a[0] = a[i]  a[i] = temp 
                        min = a[i]; 
                        a[i] = temp; 
                } 
        } 
        for(i = 0; i < n;i++) 
        { 
                if(a[i] > max) 
                { 
                        temp = max;   // temp = max   max = a[i]   a[i] = temp   
                        max = a[i]; 
                        a[i] = temp; 
                } 
        } 
        for(i = 0;i < n;i++) 
        { 
                printf("%d ",a[i]); 
        } 
        return 0; 
} 
 
这个是我写的,帮忙看看有什么问题,PTA一直说段错误
 本帖最后由 风过无痕1989 于 2020-12-11 23:28 编辑 
我晕,你这个题目又是最小值放第1个,我的程序又得改一次
 - #include<stdio.h>
 
  
- void main()
 
 - {
 
 -         int i, j = 0, k = 0, n, max, min, temp;
 
 -         scanf("%d", &n);
 
 -         int  a[n];                     // 若编译器不允许变长数组,将 a[n] 改为 a[5]
 
 -         for (i = 0;i < n;i++)
 
 -                 scanf("%d", &a[i]);
 
 -         min = a[0];
 
  
-         //找到最数组中最小的元素,并与第一个元素交换
 
  
-         for (i = 1; i < n; i++)
 
 -         {
 
 -                 if (min > a[i])
 
 -                 {
 
 -                         min = a[i];
 
 -                         j = i;
 
 -                 }
 
 -         }
 
 -         temp = a[0];        // 将最小值与第1个元素交换位置
 
 -         a[0] = a[j];
 
 -         a[j] = temp;
 
 -         max = a[n - 1];     // 在最小值的位置确定后,设最后一个元素为最大值
 
  
-         //找到最数组中最大的元素,并与最后一个元素交换
 
 -         for (i = 0; i < n - 1; i++)
 
 -         {
 
 -                 if (max < a[i])
 
 -                 {
 
 -                         max = a[i];
 
 -                         k = i;
 
 -                 }
 
 -         }
 
 -         temp = a[n - 1];    // 将最大值与最后1个元素交换位置
 
 -         a[n - 1] = a[k];
 
 -         a[k] = temp;
 
  
-         for (i = 0;i < n;i++)   // 输出数组
 
 -                 printf("%d ", a[i]);
 
 -         printf("\n");
 
 - }
 
  复制代码 
 
 
 |   
- 
 
 
 
 
 
 
 
 |