会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
杪杪
博客园
首页
新随笔
联系
管理
订阅
2020年4月30日
练习2-2 在不使用运算符&&或者||的条件下编写一个与上面的for循环语句等价的循环语句。
摘要: 1 //for (i = 0; i < lim-1 && (c=getchar()) != '\n' && c != EOF; ++i) 2 // s[i] = c; 3 4 enum loop {NO, YES}; 5 enum loop okloop = YES; 6 i = 0; 7 whil
阅读全文
posted @ 2020-04-30 15:46 杪杪
阅读(247)
评论(0)
推荐(0)
2020年4月28日
练习2-1 编写一个程序一确定分别由signed及unsigned限定的char,short,int及long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。通过直接计算来确定浮点类型的取值范围是一项难度很大的任务。
摘要: 1.打印标准头文件中的相应值 1 #include <stdio.h> 2 #include <limits.h> 3 main() 4 { 5 /* signed types */ 6 7 printf("signed char min = %d\n", SCHAR_MIN); 8 printf(
阅读全文
posted @ 2020-04-28 17:24 杪杪
阅读(506)
评论(0)
推荐(0)
2020年4月26日
练习1-24 编写一个程序,查找C语言程序中的基本语法错误,如圆括号,方括号以及花括号不配对等。要正确的处理引号(包括单引号,双引号)、转移字符序列与注释(如果读者想把该程序编写成完全通用的程序,难度会比较大。)
摘要: 1 #include <stdio.h> 2 3 int brace, brack, paren; 4 5 void in_quote(int c); 6 void in_comment(viod); 7 void search(int c); 8 9 /* rudimentary syntax c
阅读全文
posted @ 2020-04-26 15:28 杪杪
阅读(456)
评论(0)
推荐(0)
练习1-22 编写一个程序,把较长的输入行折成短一些的两行或者多行,折行的位置在输入行的第N列之前的最后一个非空格之后。要保持程序能够智能地处理输入行很长以及在制定的列前没有空格或者制表符时的情况。
摘要: 1 #include <stdio.h> 2 #define MAXCOL 3 /* maximum colum of input*/ 3 #define TABINC 8 /* tab increment size*/ 4 5 char line[MAXCOL]; /* input line*/
阅读全文
posted @ 2020-04-26 11:23 杪杪
阅读(317)
评论(0)
推荐(0)
练习1-21 编写程序entab,将空格串替换成最少数量的制表符和空格,但要保持单词之间的间隔不变。假设制表符终止位的位置与练习1-20的detab程序的情况相同。当使用一个制表符或者一个空格都可以到达下一个制表符终止位时,选用哪种替换字符比较好?
摘要: 1 #include <stdio.h> 2 #define TABINC 8 3 4 main() 5 { 6 int c, nb, nt, pos; 7 nb = 0; 8 nt = 0; 9 for(pos = 1; (c = getchar()) != EOF; ++pos) 10 if(c
阅读全文
posted @ 2020-04-26 10:55 杪杪
阅读(330)
评论(1)
推荐(0)
2020年4月25日
练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位。n应该作为变量还是符号常量呢?
摘要: 1 main.c 2 #include <stdio.h> 3 4 #define TABINC 8 //定义每隔TABINC(8)个位置会出现一个制表位 5 6 int main() 7 { 8 int c, nb, pos; 9 10 nb = 0; //到遇到制表符时,到达下个制表位需要的空格
阅读全文
posted @ 2020-04-25 22:08 杪杪
阅读(263)
评论(0)
推荐(0)
练习1-19 编写函数reverse(s),将字符串s中的字符顺序颠倒过来。使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序。
摘要: 1 #include<stdio.h> 2 3 #define MAXLINE 1000 4 5 int get_Line(char s[],int lim); 6 void reversestring(char s[]); 7 8 main() 9 { 10 char line[MAXLINE];
阅读全文
posted @ 2020-04-25 17:20 杪杪
阅读(1078)
评论(0)
推荐(1)
练习1-18 编写一个程序,删除每个输入行末尾的空格以及制表符,并删除完全是空格的行。
摘要: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #define MAXLINE 1000 //允许输入行的最大长度 6 7 int get_Line(char line[], int maxline); 8 9
阅读全文
posted @ 2020-04-25 16:20 杪杪
阅读(354)
评论(0)
推荐(0)
练习1-17 编写一个程序,打印长度大于80个字符的所有输入行。
摘要: 1 #include <stdio.h> 2 #define MAXLINE 1000 //允许输入行的最大长度 3 #define longerLine 80 4 int get_Line(char line[], int maxline); 5 6 7 main() 8 { 9 int len;
阅读全文
posted @ 2020-04-25 10:50 杪杪
阅读(437)
评论(0)
推荐(0)
练习1-16 修改打印最长文本行的程序的主程序main,使之可以打印任意长度的输入行的长度,并尽可能多地打印文本。
摘要: 1 #include <stdio.h> 2 #define MAXLINE 1000 //允许输入行的最大长度 3 4 int get_Line(char line[], int maxline); 5 void copy(char to[], char from[]); 6 7 main() 8
阅读全文
posted @ 2020-04-25 10:11 杪杪
阅读(647)
评论(0)
推荐(0)
下一页
公告