输出大于80字符数的行
2010-07-14 22:53
225 查看
#include <stdio.h> #define MAX_LENGTH 1000 #define CONDITION 80 int line_length (char string[]); // 返回输入行的长度 int copy_line (char object[][MAX_LENGTH], char string[], int count); // 长度大于80的行就拷贝它 int main (void) { int c, length, count, i; char string[MAX_LENGTH]; char object[MAX_LENGTH][MAX_LENGTH]; count = 0; while ((length = line_length(string)) > 0) if (length > CONDITION) count = copy_line(object, string, count); for (i = 0; i < count; i++) printf ("%s", object[i]); return 0; } int line_length(char string[]) { int i, c; for (i = 0; i < MAX_LENGTH - 1 && (c = getchar()) != EOF && c != '/n'; ++i) string[i] = c; if (c == '/n') { string[i] = c; ++i; string[i] = '/0'; } return i; } int copy_line(char object[][MAX_LENGTH], char string[], int count) { int i = 0; if (count < MAX_LENGTH) while ((object[count][i] = string[i]) != '/0') ++i; return (++count); }
这是我的代码:和答案的不同之处在于我的是在用户结束输入以后打印所有大于80的行,而他的则是只要有输入的行大于80就输出。关键是我把问题理解错了....
书上答案:
#include <stdio.h> #define MAXLINE 1000 #define LONGLINE 80 int getline(char line[], int maxline); int main(void) { int len; char line[MAXLINE]; while ((len = getline(line, MAXLINE)) > 0) if (len > LONGLINE) printf ("%s", line); return 0; } int getline(char s[], int lim) { int c, i, j; j = 0; 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; }
他的代码还是如此简洁明了,现在渐渐的懂C了。写程序现在还是懒得打注释,以后要多打,需要努力的就是熟悉代码的执行顺序等等。
相关文章推荐
- C输出大于127的ACSII字符
- 读入一个字符串(长度不大于100,不包括换行符’\n’),删去字符串中相同的排在后面的字符并输出。
- 输入字符串,输出不大于3个的不重复的字符
- 不同的取法输出顺序可以不考虑。取字符( 从标准输入读入一个由字母构成的串(不大于30个字符)。从该串中取出3个不重复的字符,求所有的取法。取出的字符,要求按字母升序排列成一个串。)
- 从标准输入读入一个由字母构成的串(不大于30个字符)。从该串中取出3个不重复的字符,求所有的取法。取出的字符,要求按字母升序排列成一个串。不同的取法输出顺序可以不考虑。
- 要求编写程序,读入5个字符串,按由小到大的顺序输出。 (2)功能要求 ①输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。
- 8086汇编在指定页、指定行、指定列、指定颜色、输出指定字符(80*25)
- 读写二进制时,怎么将ASCII码大于等于128的char字符转换为16进制输出
- 让VC控制台窗口输出ASCII码大于128的字符
- Windows.h下模拟键盘输出字符
- SSIS ->> Excel Destination无法接受大于255个字符长度的字符字段
- 输出第一个仅出现一次的字符
- raw 允许输出html字符
- java中字符流输出流FileWriter的5种写入方法
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- 将字符数组A中下标为双号(0,2,4,5,8...)的元素值传给另一个字符数组B,然后将B数组的元素按逆序输出
- 华为机试:将字符串里第一次出现的字符输出,重复出现的不显示
- 458 - The Decoder & C语言gets函数,字符输出输出 & toascii()
- 用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串
- Ex7_3将输入字符串中的元音字符赋值给另一字符串并输出结果