码迷,mamicode.com
首页 > 其他好文 > 详细

避免老年痴呆,每日一个小程序(一)

时间:2014-12-05 10:44:45      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:blog   io   ar   使用   sp   for   div   log   bs   

    最近发觉脑袋越来越不好使,种种原因、种种借口:没休息好,年龄大了,长期不学习...

    俗话说的好,刀不磨要生锈、人不学要落后、脑不用要变旧。大脑也是需要靠养的,以用带养,不断激活那些长久不用的区域,才能保持活力避免萎缩退化。不管何种因素,如今都到了必须多用脑的时候。

    怎么用呢?IT民工还是离不开IT的事情,突发灵感,闲暇时间还是多研究一下底层的东西吧。10多年前哥学习C语言的时候,成绩可是杠杠的,后面东一脚西一脚的蹉跎岁月,渐渐荒废这些基础知识。就从这儿开始吧。于是有了这个计划,翻开经典的C程序设计语言(特别说明不是谭老师那本),从头开始,看看书,做做习题,按书中的学习路径,循序渐进,跟着书本用基础知识来一步一步的开发大脑。

    废话不说,今天上一个练习题“编写函数reverse ( s ),把字符串s颠倒过来。用它编写一个程序,一次把一个输入行字符串颠倒过来。”,为避免使用书上还没讲的库函数,咱把reverse有所改动,上代码:

#include <stdio.h>
/* 将一个输入行颠倒过来 */
#define MAXLENGTH 1000 //输入行允许的最大长度

void reverse(char s[],int lineLength);
int getLine(char line[], int lim);

main(){
    char line[MAXLENGTH];
    
    int len;
    len = 0;
    while((len = getLine(line,MAXLENGTH)) > 0){
    	reverse(line,len);
    	printf("%s",line);
    }
    return 0;
}

int getLine(char line[],int lim){
    int i,c;
    for(i = 0; i < (lim -1) && (c = getchar()) != EOF && c != ‘\n‘; ++i){
			line[i] = c;
    }
    if(c == ‘\n‘){
			line[i] = c;
			++i;
    }
    line[i] = ‘\0‘;
    return i;
}

void reverse(char s[],int lineLength){
    int i,j,c;
    j = lineLength - 1;
    if(s[j] == ‘\n‘)
    	--j;
    for(i = 0; i < j ; ++i,--j){
    	c = s[i];
    	s[i] = s[j];
    	s[j] = c;
    }
 

}

  

避免老年痴呆,每日一个小程序(一)

标签:blog   io   ar   使用   sp   for   div   log   bs   

原文地址:http://www.cnblogs.com/cdskycom/p/4145849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!