C语言
qweeera
zhankongjian.cn
展开
-
编写程序detab,将输入中的制表符换成适当数目的空格
#include#define TABINC 5main(){ int c, nb, pos; nb = 0; pos = 1; while((c = getchar()) != EOF){ if(c == '\t'){ nb = TABINC - (pos - 1) % TABINC;原创 2016-08-28 10:48:39 · 1606 阅读 · 0 评论 -
字符串解析为单词
#include<stdio.h>#include<ctype.h>#include<malloc.h>#include<string.h>#define N 20#define M 30int str_parase(char * res, char word[][N]){ int i, wordLen=0, wordNu...原创 2018-03-27 22:26:18 · 501 阅读 · 0 评论 -
汉诺塔递归算法
相信很多人都玩过汉诺塔游戏,今天来讨论下这个游戏的最优解的程序实现。原创 2017-12-04 17:29:28 · 632 阅读 · 0 评论 -
一个简单的shell
#include #include #define MAX 256char comman[MAX][MAX] = {0};int main(){int c,i = 0,j = 0, z = 0,k=0;int argc = 0;char pre_fla = 1;int cur_char = 0;int pre_char = 0;freopen原创 2017-10-04 17:35:31 · 170 阅读 · 0 评论 -
编写一个程序,查找C语言中的基本语法错误,如圆括号、方括号、花括号不配对等,正确处理引号与注释
#includeint brace, brack, paren;void in_quote(int c);void in_comment(void);void search(int c);main(){ int c; extern int brace, brack, paren; //声明全局变量 while((c = ge原创 2016-08-31 19:13:17 · 4272 阅读 · 1 评论 -
编写一个删除C语言程序中所有注释语句,正确处理带引号的字符串与字符常量
//这是书上的例题,//后面的内容不能删除 字符串内的/**/能正常打印#includevoid rcomment(int c);void in_comment(void);void echo_quote(int c);main(){ int c, d; while((c = getchar()) != EOF) rcom原创 2016-08-31 15:03:37 · 2024 阅读 · 3 评论 -
将较长的输入行折成短一些的两行或多行
#include#define MAXCOL 15#define TABINC 5char line[MAXCOL];int exptab(int pos);int findblnk(int pos);int newpos(int pos);void printl(int pos);main(){ int c, pos原创 2016-08-30 23:05:24 · 697 阅读 · 0 评论 -
关于空格与制表符转换
#include#define TABINC 8int main(){ int c, nb, nt, pos; nb = 0; nt = 0; for(pos = 1; (c = getchar()) != EOF; ++pos) //获得横坐标 if(c == ' '){原创 2016-08-30 20:03:45 · 2666 阅读 · 0 评论 -
power函数
#includeint power(int m, int n);main(){ int i; for(i = 0; i printf("%d %d %d\n", i, power(2,i), power(-3,i)); return 0;}int power(int base, int n){原创 2016-08-28 13:59:00 · 7181 阅读 · 1 评论 -
字符串顺序颠倒
#include#define MAXLINE 1000int getline_1(char line[], int maxline);void reverse_1(char s[]);main(){ char line[MAXLINE]; while(getline_1(line,MAXLINE) > 0){ r原创 2016-08-28 13:55:44 · 2474 阅读 · 0 评论 -
去掉文本末尾的空白字符
#include#define MAXLINE 1000int remove_1(char s[]);int getline_1(char line[], int maxline);main(){ char line[MAXLINE]; while((getline_1(line, MAXLINE)) > 0) //纯空白符也存在原创 2016-08-28 13:53:15 · 1166 阅读 · 0 评论 -
垂直直方图
#include#define MAXHIST 15#define MAXWORD 11 //一个单词最大的长度#define IN 1#define OUT 0main(){ int c, i, j, nc, state;// int len; int maxvalue; int ovflow;原创 2016-08-28 13:42:38 · 784 阅读 · 0 评论 -
统计数据做成水平直方图
#include#define MAXHIST 15#define MAXWORD 11 //一个单词最大的长度#define IN 1#define OUT 0main(){ int c, i, nc, state; int len; int maxvalue; int ovflow; in原创 2016-08-28 13:41:10 · 713 阅读 · 0 评论 -
获得文本中最长的一行并打印
#include#define MAXLINE 1000int getline1(char line[], int maxline); // 这里的getline会与stdio.h头文件里里面的getline冲突 故改为getline1void copy(char to[], char from[]);main(){ int len; int m原创 2016-08-28 13:38:38 · 959 阅读 · 0 评论 -
将连续的多个空格用一个空格代替
#include#define NONBLANK 'a'main(){ int c,lastc; lastc = NONBLANK; while((c = getchar()) != EOF){ if(c != ' ') putchar(c); if(c == ' ')原创 2016-08-28 13:28:03 · 2173 阅读 · 0 评论 -
统计文本单词数
#include#define IN 1#define OUT 0main(){ int c, nl, nw, nc, state; state = OUT; nl = nw = nc = 0; while((c=getchar()) != EOF){ ++nc;原创 2016-08-28 13:23:55 · 611 阅读 · 0 评论