如何 循环输入后最后输出答案
问题来自,我们学校的OJ上的一个题:=====================================
一堆整数,已经排好了序。现在从键盘输入一个整数,请你来帮我按原先的排序规则把它插到这堆排好序的整数中。
输入数据包含若干组测试数据,每组数据由A或D开头,A表示升序排列,D表示降序排列;接着是一个等插入的整数;最后是一堆排好序的数据,数据之间用空格或回车符分开。
对于一组测试案例,在单独一行上输出排序结果。完后,输出一空行。
数据输入样例:
A
3
-1 7 8
D
4
9 8 7 6
数据输出样例:
-1 3 7 8
9 8 7 6 4
============================
我想问如何输入了第一个循环后再输入下一个循环。
就是说,当输入
A
3
-1 7 8
后,再输入
D
4
9 8 7 6
最后再输出答案
我自己写的是这样的,但是只是一次输入不能输入好几个后,最后输出结果,小弟很水,请各位指点一下
程序代码:
#include <stdio.h> #include<ctype.h> int main() { char order; int in,a[80],i,n,t; while(scanf("%c",&order)!=EOF) { i=0; scanf("%d",&in); while(scanf("%d",&a[i])!=EOF) i++; n=i; if(order=='A') for(i=n;i>0;i--) { if(in<a[i-1]) { a[i]=a[i-1]; a[i-1]=in; } } if(order=='D') for(i=n;i>0;i--) { if(in>a[i-1]) { a[i]=a[i-1]; a[i-1]=in; } } for(i=0;i<n+1;i++) { printf("%d",a[i]); if(i!=n) printf(" "); } printf("\n"); } }