首页 > 代码库 > 避免老年痴呆,每日一个小程序(一)

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

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

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

    怎么用呢?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;    } }

  

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