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

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

#include <stdio.h>
/*将输入的制表符替换为适当数量的‘*’ */
#define N 4  //制表符的停止位
#define MAXLENGTH 1000 //输入行最大长度
int getLine(char s[],int lim);
void convertTab(char s[]);
main(){
    char line[MAXLENGTH];
    int len = 0;
    while((len = getLine(line,MAXLENGTH)) > 0){
        convertTab(line);
        printf("%s",line);
    }
    return 0;
}
int getLine(char s[],int lim){
    int c,i;
    for(i = 0; i < (lim -1) && (c = getchar()) != EOF && c != ‘\n‘; ++i){
        s[i] = c;
    }
    if(c == ‘\n‘){
        s[i] = c;
        ++i;
    }
    s[i] = ‘\0‘;
    return i;
}

void convertTab(char s[]){
    int i,j,k,c;
    int len;   //替换tab后的当前字符串长度
    char d[MAXLENGTH]; //用于存放替换后的字符串
    for(i = 0,j = 0; (c = s[i]) != ‘\0‘;++i){
        if(c == ‘\t‘){
            len = j;
            for(k = 0;k < (N - len % N);++k){
                d[j] = ‘*‘;
                ++j;
            }
        }
        else{
            d[j] = c;
            ++j;
        }
    }
    d[j] = ‘\0‘;

    for(i = 0; i <= j; ++i)
        s[i] = d[i];

    return;
}
时间: 2024-11-05 06:09:42

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

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

最近发觉脑袋越来越不好使,种种原因.种种借口:没休息好,年龄大了,长期不学习... 俗话说的好,刀不磨要生锈.人不学要落后.脑不用要变旧.大脑也是需要靠养的,以用带养,不断激活那些长久不用的区域,才能保持活力避免萎缩退化.不管何种因素,如今都到了必须多用脑的时候. 怎么用呢?IT民工还是离不开IT的事情,突发灵感,闲暇时间还是多研究一下底层的东西吧.10多年前哥学习C语言的时候,成绩可是杠杠的,后面东一脚西一脚的蹉跎岁月,渐渐荒废这些基础知识.就从这儿开始吧.于是有了这个计划,翻开经典的C程序设

Python每日一个小程序

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

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

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

mono for Android 环境配置(环境搭建+破解方法+运行一个小程序)

一.准备工作:下载相关软件工具,为搭建环境做准备. 哎!百度网盘无法分享,根据名称下载. 二.首先安装 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008 这里选择安装jdk6,网上看到一篇文章说jdk7及以上,mono还没有支持,但是那篇文字一年前写的,目前 支不支持,不清楚.这里保险起见,安装jdk6,mono是支持的.    注意环境变量的配置,这里不详细描述.主要配置java_home,path,class_path. 三.安装mono-2.1

c++学习笔记---03---从一个小程序说起2

从一个小程序说起2 要求:编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行中的任何位置.当用户按下键盘上的"Enter"键时,数据输入结束.程序自动对所有的整数进行求和并打印出结果. C语言版本: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void main() 5 { 6 int i; 7 int sum = 0; 8 char ch; 9 10 printf(&

谷歌app二次验证码与微信小程序二次验证码对比实测

下面我就跟大家实测一下关于两款验证码的使用对比 NO.1:下载安装 谷歌二次验证码下载方式如下: 1.通过扫描交易所中二维码(目前所有交易所中都是提供下载二维码的) 2.手机应用商店搜索"Google Authenticator"进行下载 微信小程序下载方式如下: 1.进入微信直接搜索"二次验证码"即可 1.谷歌需要去下载app(费流量,有wifi和土豪忽略),微信不需要,直接使用! 2.搜索方面谷歌需要一连串的英文字母,比较复杂这个对我而言就比较难接受了(我是英语

自己开发一个小程序需要多少钱?有哪些费用?

本文读完仅需3分钟:1.自主开发费用:2.第三方模板费用:3.定制开发费用. ?随着小程序的普及,越来越多的商家产生了开发需求,今天的文章就来给大家分享下不同小程序开发方式的费用,自主开发还是购买模板划算一目了然: 一.自主开发费用多 (1)认证费 首先要知道,注册小程序是不要钱的,但审核认证需要300的认证费,不过这是针对直接注册小程序的,如果你拥有经过认证的公众号,再注册小程序是不需要支付认证费的,需要注意的是认证费是需要每年续费的. (2)人工费 除了基本的技术开发人员外,制作一个小程序还

三分钟创建一个小程序-每天三分钟玩转小程序 1

点击上方"编程三分钟",马上关注,每周1.3.5定时更新. 好险,还有几分钟,差点没有赶上周五的尾巴.这次带来的是1. 小程序开发前的准备,非常的简单,让我们花三分钟创建一个小程序! 1. 注册账号 访问微信公众平台网站:https://mp.weixin.qq.com 鼠标放到小程序上 发现图案变成了,下面这样,点击[查看详情],进入小程序注册页面. 拉到最下面,出现前往注册 填写一个没有注册过公众号,也没有注册过小程序的邮箱,来注册. . 2. 激活邮箱 这个时候你会收到一封邮件(

关于链表的一个小程序

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