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

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

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

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

}

  

时间: 2024-10-23 21:01:31

避免老年痴呆,每日一个小程序(一)的相关文章

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

接上篇,今天的小程序:编写程序detab,将输入中的制表符替换成适当数目的空白符(使空白充满到下一制表符停止位).假定制表符停止位的位置是固定的,比如在每个n列的位置上.n应为变量或符号参数吗?--为避免空格与tab显示难以区分,这里使用指定长度的‘*’号填充tab符号. #include <stdio.h> /*将输入的制表符替换为适当数量的‘*’ */ #define N 4 //制表符的停止位 #define MAXLENGTH 1000 //输入行最大长度 int getLine(ch

Python每日一个小程序

前几天上网,收集了20多道Python练习题.这些练习题还是很有价值的,正好最近忙着复习准备校招,可以用来练手.我会把每道题都写一篇博客详细阐述解题思路和源代码,在每道题目后面附上博客地址.希望大家对我的代码能给予指正,我们共同努力,共同进步.后序有好的题目或者解题思路,我还会在这篇博客后面追加. 第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 解答:[Python学习笔记]-APP图标显示未读消息数目   http

关于链表的一个小程序

关于链表的一个小程序: /**************************链表*****************************//* 具备功能 *//* 链表按元素位置插入 *//* 链表按元素位置删除 *//* 链表全表遍历 *//* 链表整表创建(头插法) *//* 链表整表创建(尾插法) *//* 链表整表删除 *//**************************链表*****************************/ #include<stdio.h>#in

原创观点:还在认为企业或个人只能申请一个小程序吗?

今天第一次体验了整个小程序注册流程,使用的是我自己的这个简单的教程(个人无appid如何进行申请开发者权限,简单操作步骤),教程虽然是我的,我自己却没有真的实践过,真是误人子弟,自己也不一定能知道:今天亲自测试了一下:首先走完邮箱验证: 验证完毕后,开始进入信息登录,这里,有一些关键信息,是本文观点的主要支撑: 请输入管理员的身份证号码,一个身份证号码只能注册5个小程序. 然后填写完毕后,到了第二个关键点: 为了验证你的身份,请用绑定了管理员本人银行卡的微信扫描二维码. 这个点,透露了两个信息,

先做一个“小程序”——关于微信应用号的六大猜想

先做一个“小程序”——关于微信应用号的六大猜想 9月 21 日,苦等了9个多月的时间,应用号终于与我们见面了,命名为「小程序」. 01 为什么推出小程序? 考虑到小程序对整个APP市场的影响,毫无疑问会对现有的APP生态带来一定的冲击.但是,之所以推出小程序,最直接的原因可能是为了构建和扩充微信生态链,让微信更具开放性. 如我们所知,目前微信公众号分为三类: • 服务号,连接人和商品,目前很多电商企业,以及在微信端提供产品和服务的企业都用服务号. • 订阅号,微信官方的定位是阅读,连接人和资讯的

Python 练习册,每天一个小程序

Python 练习册,每天一个小程序 说明: Python 练习册,每天一个小程序.注:将 Python 换成其他语言,大多数题目也适用 不会出现诸如「打印九九乘法表」.「打印水仙花」之类的题目 点此链接,会看到每个题目的代码, 欢迎大家 Pull Request 出题目,贴代码(Gist.Blog皆可):-) 本文本文由@史江歌([email protected] QQ:499065469)根据互联网资料收集整理而成,感谢互联网,感谢各位的分享.鸣谢!本文会不断更新. Talk is chea

Python练习册,每天一个小程序

Python练习册,每天一个小程序 精选评论关注该公众号可参与评论 写评论 加载中 以上评论由公众帐号筛选后显示 Python练习册,每天一个小程序 提交 我的评论 已评论 Python练习册,每天一个小程序 2014-12-15 程序猿 说明: ●Python 练习册,每天一个小程序.注:将 Python 换成其他语言,大多数题目也试用 ●不会出现诸如「打印九九乘法表」.「打印水仙花」之类的题目 ●欢迎大家 Pull Request 出题目,贴代码(Gist.Blog皆可):-) ●访问链接h

[每日一个小技巧] CentOS 下使用yum安装一类软件包

yum 提供了丰富的工具用于支持软件包的安装. 有时候需要安装不只只是一个的情况下,可以使用groupinstall选项. 首先可以通过grouplist查询对应的group信息,比如需要安装开发工具的情况下, 可以使用以下命令: $ yum groupinstall  "Development Tools" [每日一个小技巧] CentOS 下使用yum安装一类软件包,布布扣,bubuko.com

一个小程序能够反映的能力

程序员小郑刚步入岗位,但是在公司编码过程中没有受到专业的编码规范的培训,编写出来的程序虽然能够完成指定的功能但是比较不统一,偶尔会别出心裁的设计出自己的简化方法.老王这是从事了软件编码十多年了,现在都快到不惑的年龄了,在软件行业摸爬滚打十多年从事过多个行业,接触过不同公司的编码的规范,在软件代码编写中有独到的认识. 有一天有一个小功能的改动,由于这是一个非常重要的基础系统的功能变动,所以即便是一个小的功能变动公司上上下下都投入了非常高的重视程度.这天老王找到小郑告诉了需要修改这个系统并详细的描述