vizey 发表于 2020-11-6 09:43:52

输入10个整数 最小的与第一个换 最大的与最后一个换 要求三个函数 1输入 2处理 3输出

#include<stdio.h>
#include<string.h>
int main()
{
      int i,sr(),cl(int t),t;
      t=cl(sr());
      for(i=0;i<=9;i++)
                printf("%d ",t);
      return 0;
}
int sr()
{
      int t;
      scanf("%d%%d%d%d%d%d%d%d%d",&t,&t,&t,&t,&t,&t,&t,&t,&t,&t);
      return t;
}
int cl(int t)
{
      int i,min,max,a;
      min=t;max=t;
      for(i=1;i<=9;i++){
                if(t<min)min=t;
                if(t>max)max=t;
      }
      a=t;t=min;min=a;
      a=t;t=max;max=a;
      return t;
}

kogawananari 发表于 2020-11-6 10:00:19

这就是【鸡尾酒排序】的一轮吧百度这个就有

jackz007 发表于 2020-11-6 10:58:28

本帖最后由 jackz007 于 2020-11-6 11:17 编辑

#include <stdio.h>

void operate(int d[] , int n)
{
      int k , t , m1 , m2                              ;
      for(m1 = 0 , m2 = n - 1 , k = 1 ; k < n - 1 ; k ++) {
                if(d < d) {
                        t = d                        ;
                        d = d                     ;
                        d = d                        ;
                        d = t                           ;
                        m1 = k                           ;
                }
                if(d > d) {
                        t = d                        ;
                        d = d                   ;
                        d = d                  ;
                        d = t                           ;
                        m2 = k                           ;
                }
      }
}

void input(int d[] , int n)
{
      printf("请输入数据 : ")                            ;
      for(int i = 0 ; i < n ; i ++) scanf("%d" , & d) ;
      printf("\n")                                       ;
}

void output(int d[] , int n)
{
      printf("%d" , d)                                 ;
      for(int i = 1 ; i < n ; i ++) printf("        %d" , d) ;
      printf("\n\n")                                    ;
}

main(void)
{
      int d       ;
      input(d , 10)   ;
      output(d , 10);
      operate(d , 10) ;
      output(d , 10);
}
编译、运行实况:
D:\0002.Exercise\C>g++ -o x x.c

D:\0002.Exercise\C>x
请输入数据 : 102 456 21 0 387 999 1024 5048 12 1 999

102   456   21      0       387   999   1024    5048    12      1

0       456   21      102   387   999   1024    1       12      5048


D:\0002.Exercise\C>
页: [1]
查看完整版本: 输入10个整数 最小的与第一个换 最大的与最后一个换 要求三个函数 1输入 2处理 3输出