您的位置:首页 > 其它

因为是新手,很多不懂!求点拨!

2016-02-25 12:47 274 查看
代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_COLS 20
#define MAX_INPUT 1000

int read_column_numbers( int columns[], int max);

int main(void)
{
int n_columns;
int columns[MAX_COLS];
char input[MAX_INPUT];
char output[MAX_INPUT];
n_columns=read_column_numbers(columns,MAX_COLS);
while (gets(input)!=NULL)
{
printf("Original input:%s\n",input);

printf("Rearranged line:%s\n",output);
}
return EXIT_SUCCESS;
}
int read_column_numbers(int columns[], int max)
{
int num =0;
int ch;
while ( num<max && scanf ("%d",&columns[num] )==1
&& columns[num] >=0)
num+=1;
if (num %2 != 0){
puts ("Last column number is not pairded.");
exit ( EXIT_FAILURE);
}
while( (ch=getchar())!='EOF' && ch!='\n')
;
return num;
}
void rearrange( char *output, char const * input,
int n_columns, int const columns [])
{
int col;
int output_col;
int let;

let = strlen(input);
output_col = 0;
for( col =0; col< n_columns; col +=2)(

if (col =0 ;col=n_columns;col +=2){
int nchars = columns[col + 1]-columns[col]+1;
if (columns [col]>=len ||
output_col ==MAX_INPUT -1)
break;
if (output_col + nchars > MAX_INPUT -1)
nchars = MAX_INPUT -output_col -1;
strncpy( output +output_col,input+columns[col],
nchars);
output_col +=nchars;
} output['output_col'] ='\0';
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: