#include<stdio.h>
#include<string.h>
int main()
{
int arr1[25],arr2[25];//储存行的列范围
int num = 0 ; //记录有多少个范围
while( ++ num )
{
int t1,t2;
scanf("%d",&t1);
if(t1==-1) break; // 如果读取到 -1 说明读取结束
else scanf("%d",&t2);
arr1[num] = t1 ;
arr2[num] = t2 ;
}
getchar();
num -- ; // num值因在读取-1的时候产生了增加 所以在这里需要减一
char ch;
int index = 0 ;
char crr[1005];
int t = 0 ;
int tnum = 1 ;
while(scanf("%c",&ch)!=EOF)
{
if( t == 0 )
{
printf("Original input : ");
}
printf("%c",ch);
if( t > arr2[ tnum ] ) tnum ++ ;
if( t >= arr1[ tnum ] && t <= arr2[ tnum ] || ch == '\n' )
{
crr[index++] = ch ;
}
if( ch == '\n' )
{
printf("Rearranged line : %s",crr);
memset(crr,0,sizeof(crr));
t = 0 ;
tnum = 1 ;
index = 0 ;
continue ;
}
t ++ ;
//index++;
}
return 0 ;
}
很抱歉的是并未找到一个合适的oj有这些题集(泪流满面中)
不过反正都是自己写来记录学习笔记的代码
如果有那位大牛知道那个oj有这个成套的习题,可以艾特我一下 qq 484491598