练习1-8 编写一个统计空格、制表符与换行符个数的程序
摘要:Archlinux GCC 13.1.1 20230429 2023-07-10 19:45:11 #include<stdio.h> int main() { int c_in; int space_num, tab_num, line_num; space_num = tab_num = lin
阅读全文
posted @
2023-07-10 19:37
语巫
阅读(121)
推荐(0) 编辑
1-9 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替
摘要:Archlinux GCC 13.1.1 20230429 2023-07-10 20:47:50 星期一 点击查看代码 ``` #include int main() { int c_in, last_in; c_in = 0; last_in = 'a'; while( (c_in=getcha
阅读全文
posted @
2023-07-10 20:57
语巫
阅读(63)
推荐(0) 编辑
1-10 编写一个将输入复制到输出的程序,并将其中的制表符替换为\t,把回退符 替换为\b,把反斜杠替按为\\。这样可以将制表符和回退符以可见的方式显示出来。
摘要:Archlinux GCC 13.1.1 20230429 2023-07-10 21:35:32 星期一 点击查看代码 ``` #include int main() { int c_in = 0; while( (c_in=getchar()) != EOF ) { if( c_in == '\
阅读全文
posted @
2023-07-10 21:41
语巫
阅读(89)
推荐(0) 编辑
1-12 编写一个程序,以每行一个单词的形式打印其输入
摘要:Archlinux GCC 13.1.1 20230429 2023-07-10 21:49:14 星期一 点击查看代码 ``` #include int main() { int c; while( (c = getchar()) != EOF ) { if( (c == ' ') || (c =
阅读全文
posted @
2023-07-10 21:51
语巫
阅读(41)
推荐(0) 编辑
1-13 编写一个程序,打印输入中单词长度的直方图
摘要:Archlinux GCC 13.1.1 20230429 2023-07-10 21:56:28 星期一 点击查看代码 ``` #include #define MAX 7 #define MIN 0 int main() { int nw[10]; int num = 0; int nc = 0
阅读全文
posted @
2023-07-10 21:58
语巫
阅读(51)
推荐(0) 编辑
1-14 编写一个程序,打印输入中各个字符出现频度的直方图
摘要:Archlinux GCC 13.1.1 20230429 2023-07-11 23:25:36 星期二 # 做了调整,只输出大小写字母共计56个字符的横向直方图,如有其他需要,自行添加。 点击查看代码 ``` #include #define TRUE 1 #define FALSE 0 int
阅读全文
posted @
2023-07-11 23:30
语巫
阅读(65)
推荐(0) 编辑
1-17 编写一个程序,打印长度大于 80 个字符的所有输入行
摘要:# 80个字符验证过于麻烦,改成8个字符。 Archlinux GCC 13.1.1 20230429 2023-07-15 15:42:21 星期六 点击查看代码 ``` #include #define MAX_LINE_LENGTH 1000 #define MIN_LINE_LENGTH 8
阅读全文
posted @
2023-07-15 15:46
语巫
阅读(57)
推荐(0) 编辑
1-18 编写一个程序,删除每个输入行末尾的空格及制表符,并删除完全是空格的行
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-15 16:24:47 星期六 点击查看代码 ``` #include #include #define MAX_LINE_LENGTH 1000 int getline_n(char line[], int maxli
阅读全文
posted @
2023-07-15 16:28
语巫
阅读(89)
推荐(0) 编辑
1-19 编写函数 reverse(s),将字符串 s 中的字符顺序颠倒过来。使用该函数 编写一个程序,每次颠倒一个输入行中的字符顺序
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-15 21:41:44 星期六 点击查看代码 ``` #include #include void reverse( char *s ); void reverse_in(); int main() { reverse_
阅读全文
posted @
2023-07-15 21:43
语巫
阅读(124)
推荐(0) 编辑
1-20 编写程序 detab,将输入中的制表符替换成适当数目的空格,使空格充满到 下一个制表符终止位的地方
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-17 10:30:52 星期一 制表符的作用是将光标移至最接近8的整数倍的位置,比如1~8 > 9,9~16 > 17等等,我常用制表符为4width,所以,1~4 > 5, 5~8 > 9... 点击查看代码 ```
阅读全文
posted @
2023-07-17 20:03
语巫
阅读(52)
推荐(0) 编辑
1-21 编写程序 entab,将空格串替换为最少数量的制表符和空格,但要保持单词 之间的间隔不变
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-17 23:33:35 星期一 点击查看代码 ``` #include #define tab_width 4 //制表符占4位 int main() { int c_in, cnt, cnt_tmp, space_nu
阅读全文
posted @
2023-07-17 23:35
语巫
阅读(47)
推荐(0) 编辑
1-22 编写一个程序,把较长的输入行“折”成短一些的两行或多行,折行的位置 在输入行的第 n 列之前的最后一个非空格之后。要保证程序能够智能地处理输入行很长以及 在指定的列前没有空格或制表符时的情况
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-18 17:32:11 星期二 点击查看代码 ``` #include #define SIGN 12 //折行记号(字符数) int main() { int c_in, c_cnt; c_in = c_cnt = 0
阅读全文
posted @
2023-07-18 17:32
语巫
阅读(33)
推荐(0) 编辑
1-23 编写一个删除 C 语言程序中所有的注释语句
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-20 13:34:31 星期四 点击查看代码 ``` #include #define TRUE 1 #define FALSE 0 int main() { int i, j, sign; char tmp[100]=
阅读全文
posted @
2023-07-20 13:37
语巫
阅读(188)
推荐(0) 编辑
1-24 编写一个程序,查找 C 语言程序中的基本语法错误,如圆括号、方括号、花 括号不配对等。要正确处理引号(包括单引号和双引号)、转义字符序列与注释
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-20 17:55:02 星期四 点击查看代码 ``` #include #include int main() { int i, sma, med, big; FILE *fp; char tmp[100] = "";
阅读全文
posted @
2023-07-20 17:55
语巫
阅读(93)
推荐(0) 编辑
2-1 编写一个程序以确定分别由 signed 及 unsigned 限定的 char、short、 int 与 long 类型变量的取值范围
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-20 18:22:15 星期四 点击查看代码 ``` #include #include int main() { // 使用打印标准头文件中的相应值的方式 printf("使用标准头文件中的相应值:\n"); prin
阅读全文
posted @
2023-07-20 18:24
语巫
阅读(98)
推荐(0) 编辑
2-2 在不使用运算符&&或||的条件下编写一个与上面的 for 循环语句等价的循 环语句
摘要:# Archlinux GCC 13.1.1 20230429 点击查看代码 ``` #include int main() { while( (c_in=getchar()) != '\n' ) { if( c_in != EOF ){ if( i 小白刚学习C语言,代码质量不高,欢迎评论。
阅读全文
posted @
2023-07-20 22:59
语巫
阅读(29)
推荐(0) 编辑
2-3 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀 0x 或 0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f 以及 A~F
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-22 19:48:23 星期六 点击查看代码 ``` #include #include int htoi( const char *s ); int main() { char arr[4] = "0x3A"; int
阅读全文
posted @
2023-07-22 19:49
语巫
阅读(152)
推荐(0) 编辑
2-4 编写函数squeeze(s1, s2),将字符串 s1 中任何与字符串 s2 中字符匹配的字符都删除
摘要:# Archlinux GCC 13.1.1 20230429 点击查看代码 ``` #include void squeeze( char s1[], char s2[] ) { int i, j, k; for( i=0; s1[i]!='\0'; i++ ) for( j=0; s2[j]!=
阅读全文
posted @
2023-07-22 20:54
语巫
阅读(98)
推荐(0) 编辑
2-5 编写函数 any(s1, s2),将字符串 s2 中的任一字符在字符串 s1 中第一次 出现的位置作为结果返回。如果 s1 中不包含 s2 中的字符,则返回-1
摘要:# 稍作修改,不返回任意字符...位置,直接输出所有符合条件...位置 Archlinux GCC 13.1.1 20230429 2023-07-22 22:59:55 星期六 点击查看代码 ``` #include void any(char s1[], char s2[]) { int i,
阅读全文
posted @
2023-07-22 23:00
语巫
阅读(51)
推荐(0) 编辑
2-6 编写一个函数 setbits(x, p, n, y),该函数返回对 x 执行下列操作后 的结果值:将 x 中从第 p 位开始的 n 个(二进制)位设置为 y 中最右边 n 位的值,x 的其余 各位保持不变
摘要:# Archlinux GCC 13.1.1 20230429 2023-07-23 00:14:01 星期日 点击查看代码 ``` #include int setbits( unsigned int x, int p, int n, unsigned int y ) { unsigned int
阅读全文
posted @
2023-07-23 00:15
语巫
阅读(120)
推荐(0) 编辑