因为是新手,很多不懂!求点拨!
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';
}
#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';
}
相关文章推荐
- 鸟哥的Linux私房菜(服务器)- 第八章、路由观念与路由器设定
- 如何查询你的手机号注册绑定过哪些平台软件
- CocoaPods安装和使用教程
- 购物计算器
- Hadoop伪分布搭建
- python学习手册之Scrapy学习
- 鸟哥的Linux私房菜(服务器)- 第七章、网络安全与主机基本防护: 限制端口, 网络升级与 SELinux
- Js 内各种宽度
- 10000小时学习英语 国外旅游无压力 同声传译更大的目标
- 用Python来合并图片(SoEasy)
- LeetCode -- Unique Paths
- Bean
- css inline-block方式实现水平导航栏 解决空白问题
- vmware虚拟机迁移导致的eth0消失问题
- Hadoop2.20集群搭建
- git
- 鸟哥的Linux私房菜(服务器)- 第六章、 Linux 网络侦错
- 金字塔
- arm-linux-gcc/ncurses的安装和使用,arm-linux-gcc: 没有那个文件或目录
- LINUX-vmstat命令讲解