C-C和指针作业题(第一章)
2014-01-23 10:46
183 查看
在Linux下输入EOF使用Ctrl+D, Windows下输入EOF使用Ctrl+Z
编写一个程序,从标准输入读取几行输入,每行输入都要打印到标准输出上,前面要加上行号,在编写这个程序时要试图让程序能够处理的输入行的长度没有限制。
编写一个程序,一行行的读取输入行,直至到达文件尾。算出每行输入行的长度,然后把最长的那行打印出来。为了简单起见,可以假定所有的输入行均不超过1000个字符
顺便练习一下多文件编译
文件func.h
文件func.c
文件main.c
编译:
gcc -c -o func.o func.c
gcc -c -o main.o main.c
连接:
gcc -o main main.o func.o
运行:
./main
编写一个程序,从标准输入读取几行输入,每行输入都要打印到标准输出上,前面要加上行号,在编写这个程序时要试图让程序能够处理的输入行的长度没有限制。
#include <stdio.h> int main(int argc, char **argv) { int ch, row_num = 1; unsigned char state = 1; while ((ch = getchar()) != EOF) { if (state == 1) { printf("%d", row_num); row_num++; state = 0; } putchar(ch); if (ch == '\n') { state = 1; } }return 0; }
编写一个程序,一行行的读取输入行,直至到达文件尾。算出每行输入行的长度,然后把最长的那行打印出来。为了简单起见,可以假定所有的输入行均不超过1000个字符
顺便练习一下多文件编译
文件func.h
#ifndef _FUNC_H #define _FUNC_H 1 int int_max(int a, int b); int int_min(int a, int b); #endif
文件func.c
#include "func.h" int int_max(int a, int b) { return a > b ? a : b; } int int_min(int a, int b) { return a > b ? b : a; }
文件main.c
#include <stdio.h> #include <string.h> #include "func.h" #define MAX_LENGTH 1000 int main(int argc, char **argv) { char max_str[MAX_LENGTH]; char scanf_str[MAX_LENGTH]; short max_len = 0; while (gets(scanf_str) != NULL) { if (strlen(scanf_str) > max_len && max_len < MAX_LENGTH) { max_len = int_min(strlen(scanf_str), MAX_LENGTH); strcpy(max_str, scanf_str); } } if (max_len > 0) { printf("%s\n", max_str); } return 0; }
编译:
gcc -c -o func.o func.c
gcc -c -o main.o main.c
连接:
gcc -o main main.o func.o
运行:
./main
相关文章推荐
- C和指针 第一章编程练习3 输入字符输出并输出校验和
- 第一章C++编程基础(指针带来的弹性)
- Linux 第一章、第二章 课后作业
- 第一章作业
- C博客作业--指针
- metasploit魔鬼训练营第一章实践作业
- 数据库第一章(小作业)
- C博客作业--指针
- C语言博客作业—指针
- 第一章实验作业(乱七八糟改)
- 我的C++第二周作业(第一章)
- 第一章作业
- 程序设计基础(C&C++) 戴波、张东祥 第一章 绪论 编程作业
- 第一章 快速上手 [c和指针]
- 20131110作业 5 指针应用1
- 指针作业2
- 第一章作业3-链式存储结构及其操作
- C博客作业--指针
- C和指针学习笔记--第一章
- 作业 5 指针应用1