水~~

博客要求输入n(n<100)个数,找出其中最小数并与最前面的数交换后输出。输入数据有多组,每组先输入n,接着是n个整数,n=0表示结束。给出了示例输入输出,并展示了相应代码。

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

代码

#include<iostream>
#include<algorithm>
#include<string.h>
#include<queue>
#include<vector>
#include<stdio.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
int main()
{
    int n,x[105],mi,t;
    while(~scanf("%d",&n)&&n)
    {
        scanf("%d",&x[0]);
        mi=x[0],t=0;
        for(int i=1;i<n;++i)
        {
            scanf("%d",&x[i]);
            if(mi>x[i])
                mi=x[i],t=i;
        }
        mi=x[0];
        x[0]=x[t];
        x[t]=mi;
        printf("%d",x[0]);
        for(int i=1;i<n;++i)
            printf(" %d",x[i]);
        putchar('\n');
    }
}

# U580472 数据类型 ## 题目背景 >我只需要一个数组! >~~但后果是MLE~~ ## 题目描述 _pidou_ 正在做~~~~题,对于题目给定的 $n$ 个数据, _pidou_ 希望可以用同一种数据类型(char , double , int , long long 和 string)来存储。 因为 _pidou_ 不想因为精度误差导致WA(如用 int 存储浮点数, int 存储 $2^{31}-1$ 以上的整数 ) 请输出所有可以存储这 $n$ 个数据的数据类型 如果数据全部为非负数,在第一行输出 unsigned 表示用无符号型存储(double 除外) 特别的,_pidou_ **不可以**用 double 来存储整数 (即可以用 double 存储非整实数) 数据可能有前导零,请先去除前导零再判断类型 正数的开头**可能**有 '+' 也可能没有 形如 $1.0,2.00$ ,**当数据的小数部分是0,算整数** 前导零与正/负号可能会同时出现,如果同时出现,正/负号会在前导零前 有可能有科学计数法与十六进制的表示方法 ## 输入格式 输入共两行 第一行输入一个整数 $n$ 第二行输入 $n$ 个数据 $a_1,a_2 \dots a_n$ ,表示题目给定的数据 ## 输出格式 如果数据全部为非负数,在第一行输出unsigned 再输出所有可以存储这 $n$ 个数据的数据类型,一行一个 优先级为char, double, int, long long 和 string ## 输入输出样例 #1 ### 输入 #1 ``` 4 a 1 9 B ``` ### 输出 #1 ``` unsigned char string ``` ## 输入输出样例 #2 ### 输入 #2 ``` 1 10000000000000000000 ``` ### 输出 #2 ``` unsigned long long string ``` ## 输入输出样例 #3 ### 输入 #3 ``` 3 1.1 2.9 97.18 ``` ### 输出 #3 ``` unsigned double string ``` ## 输入输出样例 #4 ### 输入 #4 ``` 3 -003 1 100000 ``` ### 输出 #4 ``` int long long string ``` ## 说明/提示 **数据范围** - $1\le n \le 100$ - 每个数据的长度均小于 $50$
最新发布
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值