• 杭电2016 数据的交换输出


    Problem Description
    输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。
     
    Input
    输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。
     
    Output
    对于每组输入数据,输出交换后的数列,每组输出占一行。
     
    Sample Input
    4 2 1 3 4
    5 5 4 3 2 1
    0
     
    Sample Output
    1 2 3 4
    1 4 3 2 5

    代码:

     1 #include<stdio.h>
     2 #define maxsize 100
     3 int qiuzuixiao(int a[],int n){
     4     int min=*a;
     5     int k=0;
     6     for(int i=1;i<n;i++){
     7         if(min>a[i]){
     8             min=a[i];
     9             k=i;
    10         }
    11     }
    12     int temp;
    13     temp=a[k];
    14     a[k]=a[0];
    15     a[0]=temp;
    16 }
    17 int main(){
    18     int n=-1;
    19     while(scanf("%d",&n)!=EOF&&n!=0&&n<100){
    20         int a[maxsize];
    21         for(int i=0;i<n;i++){
    22             scanf("%d",&a[i]);
    23         }
    24         qiuzuixiao(a,n);
    25         for(int i=0;i<n;i++){
    26             if(i==n-1){
    27                 printf("%d
    ",a[i]);
    28             }else
    29             printf("%d ",a[i]);
    30         }
    31 
    32     }
    33     return 0;
    34 }

    注意输出格式,一开始没注意,提交显示presentation error,查了下发现结果其实是对的,就是输出格式有误,譬如多了个空格,所以这段代码中加了if判断语句来修改输出格式(就是把最后一个数后面的空格给去掉)

    for(int i=0;i<n;i++){
                if(i==n-1){
                    printf("%d
    ",a[i]);
                }else
                printf("%d ",a[i]);
            }

    好了就这些了

  • 相关阅读:
    将u8BF7字符串转换为汉字
    ubuntu扩容
    python面试题
    OCR开源项目
    58到家数据库30条军规解读
    dvwa sql盲注教程
    python time模块详解,时间格式转换
    python正则表达式
    tr命令详解
    腐烂
  • 原文地址:https://www.cnblogs.com/hongrunhui/p/5162923.html
Copyright © 2020-2023  润新知