【ACM入门一】1002 HDU2019

来源:互联网 发布:火凤凰软件下载 编辑:程序博客网 时间:2024/06/06 02:42

数列有序!

Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 3 Accepted Submission(s) : 2
Problem Description
有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。

Input
输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。

Output
对于每个测试实例,输出插入新的元素后的数列。

Sample Input
3 31 2 40 0

Sample Output
1 2 3 4
#include <stdio.h>int main(){    int n, x, a[100], i, j;    while(scanf("%d%d",&n,&x)&&(n||x))    {        for(i=0;i<n;i++)        scanf("%d",&a[i]);        for(i=0;i<n;i++)        {            if(x<a[i])            break;        }        for(j=0;j<i;j++)        printf("%d ",a[j]);        printf("%d",x);        for(j=i;j<n;j++)        printf(" %d",a[j]);        printf("\n");    }    return 0;}
这道题很简单只不过我是学了点东西
while(scanf("%d%d",&n,&x)&&(n||x))
这个的意思是当输入0 0时结束的,另外就是我刚开始的的格式输出错了,最后多了一个空格 printf("%d ",a[j]);
        printf("%d",x);
        for(j=i;j<n;j++)
        printf(" %d  ",a[j]);
        printf("\n");主要当时这几句是这样写的,所以多空格的,呵呵,下次一定注意的,输出格式,还有就是知道Presentation Error是输出格式错误的意思
原创粉丝点击