如何 循环输入后最后输出答案
问题来自,我们学校的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");
}
}







各位帮小弟吧

