第7周 C语言程序设计(新2版) 例题1.9 字符数组(打印最长输入行)
来源:互联网 发布:女生棒球服搭配 知乎 编辑:程序博客网 时间:2024/04/30 12:09
1、打印最长输入行
问题及代码:
/*打印最长输入行*/#include <stdio.h>#define MAXLINE 100int getline(char line[],int maxline); void copy(char to[],char from[]);int main(){int len; //当前行长度 int max; //目前为止发现的最行的长度 char line[MAXLINE]; //当前的输入行 char longest[MAXLINE]; //用于保存最长的行 max=0;while((len=getline(line,MAXLINE))>0) if(len>max){max=len;copy(longest,line); } if(max>0) //存在这样的行 printf("%s",longest);return 0; } /*输入一行,并返回其长度*/ int getline(char s[],int lim) { int c,i; 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'; //字符串末尾以'\0'为结尾不能漏了 return i; } void copy(char to[],char from[]) { int i; i=0; while((to[i]=from[i])!='\0') //只要复制不到字符的结尾符号‘\n’,循环将持续 i++; }
2、打印任意长度的输入行长度,并尽可能打印文本
问题及代码:
#include <stdio.h> #define MAXLINE 1000 int getline(char line[],int maxline); void copy(char to[],char from[]); int main() { int len; //当前行长度 int max; //目前为止发现的最行的长度 char line[MAXLINE]; //当前的输入行 char longest[MAXLINE]; //用于保存最长的行 max=0; while((len=getline(line,MAXLINE))>0) { printf("%d %s",len,line); //尽可能多的打印输入行的长度与保存的数组 if(len>max) { max=len; copy(longest,line); } } if(max>0) //存在这样的行 printf("%s",longest); return 0; } /*输入一行,并返回其长度*/ int getline(char s[],int lim) { int c,i,j; j=0; //j记录复制到字符串s中字符的个数 for(i=0;(c=getchar())!=EOF&&c!='\n';i++) //不再检查字符数是否超出数组s的限制 if(i<lim-2) //数组s的最后一个下标是lim-1; { s[j]=c; j++;} if(c=='\n') { s[j]=c; j++; i++; } s[j]='\0'; //字符串末尾以'\0'为结尾不能漏了 return i; } void copy(char to[],char from[]) { int i; i=0; while((to[i]=from[i])!='\0') //只要复制不到字符的结尾符号‘\n’,循环将持续 i++; }
0 0
- 第7周 C语言程序设计(新2版) 例题1.9 字符数组(打印最长输入行)
- 第7周 C语言程序设计(新2版) 例题1 统计输入的字符数
- 第7周 C语言程序设计(新2版) 例题 1.6数组(无法编译)
- 第7周 C语言程序设计(新2版) 练习1-17 打印长度大于80个字符的所有输入行
- 第7周 C语言程序设计(新2版) 练习1-12 每行一个单词打印输入
- 第7周 C语言程序设计(新2版) 例题 3个函数例题
- 第7周 C语言程序设计(新2版) 例题1.5.4 统计行数、单词数及字符数
- 第10周 C语言程序设计(新2版) 第三章例题 swich统计数字、字符和其它符号
- 第7周 C语言程序设计(新2版) 练习1-13 打印输入单词长度的直方图(水平与垂直)
- 第7周 C语言程序设计(新2版) 例题1.7 函数
- 第7周 C语言程序设计(新2版) 练习1-7 打印一个EOF值
- 第7周 C语言程序设计(新2版) 练习1-14 打印输出各个字符出现频度的直方图(输出结果有问题)
- 第7周 C语言程序设计(新2版) 练习1-19 颠倒字符串中的字符
- 第7周 C语言程序设计(新2版) 练习1-22 在第n列将较长输入行折短
- 第10周 C语言程序设计(新2版) 3.5例题 函数atoi(s),将字符串转换为对应数值
- 第7周 C语言程序设计(新2版) 练习1-10 输入复制到输出,三种格式替换
- 第7周 C语言程序设计(新2版) 练习2-4 删除s1中与s2相匹配的字符
- 第7周 C语言程序设计(新2版) 练习2-5 返回最早出现匹配字符的位置
- Java设计模式(九) 桥接模式
- SOA笔记
- 快速排序——一步一步算法篇
- bp神经网络及matlab实现
- 为什么数据库表之间要用物理主外键
- 第7周 C语言程序设计(新2版) 例题1.9 字符数组(打印最长输入行)
- C语言结构体简单应用范例
- Java对于表达式中的自动类型提升
- 从无到有,如何21天搭建一个推荐系统
- STM32的ADC采样与多通道ADC采样
- DevExpress控件使用方法:第二篇 barManager
- 每秒处理10万订单乐视集团支付架构
- nginx.conf详解
- Struts2常用标签的使用以及Action传值