文章排版——上机实验,C语言

——————————————————————————————————————
题目:
把一段文章按要求排版。文章的输入方式为:由键盘输入一段以
回车符结束的文章(最大长度 2000 个字符)。排版时以单词为基本
单位。单词由不含空格的任意字符组成,是长度小于 20 个字符的串。
空格符是分隔单词的唯一字符,在输入时连续的空格符在处理时应先
化简为单个空格符。在排版前应先输入,排版后每行的字符数为N,
排版后将整理好的文章按行输出。输出时不能将一个完整的单词截
断,并要求输出的总行数最小。将每个不足N个字符的行用空格补足,
填充空格符的方式有以下三种。
1)将填充的空格符置于每行的末尾,并要求每行的起始为单词。
2)将填充的空格符置于每行的开始,并要求每行的末尾为单词。
3)将填充的空格符平均分配在每行中,并保证行的起始和末尾
均为单词。
——————————————————————————————————————
算法过程:
下面的这段代码是是按照原则1)填充空格的,具体过程是:先找全一个完整的单词,然后在把这个单词打印到当前一行的原则是先用一个变量len存放当前行的长度,len+新单词长度若超过限制长度就打印到下一行,否则就继续······


---------------------
#include<stdio.h>
#include<stdlib.h>
#include<string.h>#define N 25  //定义每一行的字符数,可修改int main()
{char atc[200];  //用于存放中的字符数,其长度可修改为2000char word[20]={1}; //用于存放“单词”单词长度不得大于20个字符int i=0,j=0,k;int len=0; //用于判断是否达到换行的条件printf("please input the article:\n");gets(atc);  //从键盘获得一个字符串k=strlen(atc); //及下面两条用于对字符串做特殊处理atc[k]=' ';atc[k+1]='\0';printf("After transfer:\n");while(atc[i]!='\0'){if(atc[i]!=' ') //判断是否为空格,若不是把字符放到单词数组里{word[j]=atc[i];i++; //刷新j++;}else //执行于此说明单词的字符已找全{len+=j;if(len>N) //判断是否要换行{len=j;printf("\n");}if(word[0]!=1){for(k=0;k<j;k++) //打印出单词{printf("%c",word[k]);word[k]=1;}printf(" "); //单词之间用空格分开len++;j=0;}i++; //刷新}}return 0;
}

演示一下运行结果:

也欢迎大家批评指正!!!

文章排版——上机实验,C语言相关推荐

  1. c#语言程序设计上机实验,C#语言程序设计基础实验指导(第3版)

    第1章 绪论 1.1 知识点回顾 1.2 实验目的和要求 1.3 实验内容 1.4 实验指导 实验1-1 模拟电子邮箱注册 实验1-2 创建和调用C#类库程序 1.5 补充上机练习 第2章 C#数据类 ...

  2. 计算方法上机实验c语言,计算方法与实习实验报告c语言.pdf

    计算方法与实习实验报告c语言 计算方法与实习 实 验 报 告 1 实习题一 N 1 4.设Sn  2 ,已知其精确值为 . j 2 j 1 1)编制按从大到小的顺序计算S 的程序: n 2)编制按 ...

  3. c语言习题与实验doc,[教材]C语言程序设计习题与上机实验(全部答案).doc

    [教材]C语言程序设计习题与上机实验(全部答案).doc 打伪辨笑坠发淤谢躬石眉侯抄纺箍塘妓愚离结船篙傅逻匆滔侯疹腮初粕羞骑躺童沂锡泵糙闰恃轰却蚕磨餐淌滇颊趁模整驶突献牺嫉工丢擦蔚锗磁途伊惭母拒羌本码 ...

  4. c 语言构造函数的实验报告,c上机实验报告_相关文章专题_写写帮文库

    时间:2019-05-12 07:35:41 作者:admin 第二次上机实验报告 姓名:王小宁班级:学号: 031012 1234 第一题: 题目: 编写一个类,声明一个数据成员和一个静态数据成员, ...

  5. 工程热力学c语言 朗肯循环第二题,软件工程上机实验报告_相关文章专题_写写帮文库...

    时间:2019-05-12 14:56:17 作者:admin <数据库与软件工程>上机实验答案 实验三 SQL语言的DDL 3.CREATE TABLE aa( Bb1 VARCHAR( ...

  6. 大学生上机报告C语言,大学生计算机实验总结报告.doc

    大学生计算机实验总结报告 实验相对于每个人来说都有着特殊的意义,一般意义上来说他肯定是都会有不一样的心得体会,对于那些学习过实验后的人来说记录下这些心得体会是十分重要的,写一份实验心得体会他不仅仅能抒 ...

  7. C语言程序设计蔺德军,C语言程序设计上机实验与习题解答(第2版)

    目 录 实验1 操作环境与过程\t1 1.1 实验目的\t1 1.2 实验预习\t1 1.3 使用VC++ 6.0上机实验\t1 1.4 使用Dev-C++上机实验\t4 1.5 使用VC++ 201 ...

  8. c语言的适当大小的子集,编译原理上机实验报告

    编译原理上机实验报告,编制C语言子集的词法分析程序,编制递归下降法的语法分析程序 编译技术上机实验题目 实验一 一.题目 编制C语言子集的词法分析程序 二.目的 通过设计.编制.调试一个具体的词法分析 ...

  9. 《数据结构与算法 C语言版》—— 2.5上机实验

    本节书摘来自华章出版社<数据结构与算法 C语言版>一 书中的第2章,第2.5节,作者:徐凤生,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.5上机实验 实 ...

最新文章

  1. 【建站系列教程】7、SEO优化之meta标签【最后一篇】
  2. 2 - 前端基础--CSS 选择器
  3. python基础之----函数
  4. 锐炬显卡可以linux吗,Intel Broadwell桌面CPU性能测试:Iris Pro 6200核显无敌了
  5. dubbo服务接口如何mock_小程聊微服务-基于dubbo的mock测试系统
  6. 洲明科技与意法半导体合作开发新一代LED显示屏
  7. HTTPS 使用成本
  8. [解决方案]SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
  9. Cogs 647. [Youdao2010] 有道搜索框(Trie树)
  10. CentOS安装网络驱动
  11. access 套用表格_将ACCESS数据库导入到EXCEL表格
  12. Android 应用开发---TextView(文本框)详解
  13. 数据库候选关键词怎么求_如何选取关键词?
  14. 怎么看263邮箱的服务器信息,263邮箱真的不能用,刚刚上了一当,劝大家务必注意...
  15. 使用itext和freemarker来根据Html模板生成PDF文件,加水印、印章
  16. 使用R进行pubmed爬虫
  17. iOS开发 UIBezierPath曲线动画
  18. Android 音视频开发实践系列-04-Android WebRTC推流到SRS服务器实现直播功能
  19. php主要技术指标,液晶显示器的主要技术指标不包括什么
  20. 大学物理 复习指导、公式推导精简过程、结论归纳 第三章 动量守恒定律与能量守恒定律

热门文章

  1. php编写程序制作图形验证码,php实现图形验证码详解!
  2. 周鸿祎:写区块链最好的一篇文章
  3. matlab 条件方程组的解,solve 时解方程组的限制条件问题
  4. 自动驾驶/机器人 SLAM算法 面经1
  5. 【信息系统项目管理师】第三章 立项管理思维导图
  6. 发票信息提取系统解决方案(纸质发票、电子发票)
  7. C++ Tetris俄罗斯方块
  8. predefined Serial item
  9. Spark Steaming快速入门
  10. android webview 横竖屏_Android 切换横竖屏