关于作业中输出要求空格的控制

在近几次超星作业中,大部分题目输出的数据都不止一个,但是大部分要求输出结果中每个数据间用一个西文空格间隔最后一个数后无多余字符,因此就需要我们控制输出的空格。以下是我总结的两个方法,供大家参考。

方法一:直接判断控制

适用范围:输出有明确的开始和结束位置
例如:
作业04
4.删除重复元素
题目描述:编写函数,不使用其他辅助数组,把整型数组中重复元素删得只剩一个;所有未被删除元素都保留最先顺序移动到数组前面。
输入:第一行输入数组长度n(≤100),第二行依次从键盘随机输入n个整数作为数组元素值。
输出:已删除重复元素的数组,各元素间以一个西文空格间隔,最后一个元素后无字符。
这里就不放全部的代码了大家自行查看题目代码
https://blog.csdn.net/qq_49509179/article/details/109754996
这里我们就知道最后输出的数据的个数sum,因此我们就可以通过在数据输出之后加上判断是否是最后一个输出的数据,如果是,就不输出空格。

for ( i = 0; i < sum; i++){printf("%d", a[i]);if (i != sum - 1)
/*我们已经知道一共要输出sum个数据,而最后一个数据在数组中是a[sum-1]
因此可以判断输出控制i是否等于sum-1,如果是就不用再输出空格了*/printf(" ");}

如果我们知道数据开始位置同理也可以用这种方法

for ( i = 0; i < sum; i++){if (i != 0) printf(" ");printf("%d", a[i]);
}

方法二:定义bool变量控制

当程序中存在通过判断来控制输出时,就无法使用方法一了,因为你不知道要从哪个数据开始输出这时可以用方法二

bool flag=true;
for(i=0;i<n;i++){if(true){if(flag) flag=false;else printf(" ");printf("%d",a[i])}
}

在上面输出中,数据的输出需要if中的条件成立,而我们并不知道从哪个数据开始条件成立
因此先定义了bool 变量flag并赋值为true,在输出数据前进行判断,如果flag是真就说明这是第一个要输出的数据,前面不用输出空格,将flag赋值为false,在进行以后数据的输出时,都会在数据前输出空格,从而保证格式的正确。

在我的作业中其他的方法基本都是这两种方法衍生出来的,就不一一介绍了。
如果有更好的方法欢迎大家私信或者在评论区留言。

关于输出中空格的控制相关推荐

  1. C语言中输入输出格式控制

    1.C语言中,非零值为真,真用1表示:零值为假,假用0表示. 2.转义字符参考: \a 蜂鸣,响铃 \b 回退:向后退一格 \f 换页 \n 换行 \r 回车,光标到本行行首 \t 水平制表 \v 垂 ...

  2. ACMNO.25 C语言-间隔输出 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出1 9 9 0。 输入 一个四位数 输出 增加空格输出

    题目描述 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格.如输入1990,应输出"1 9 9 0". 输入 一个四位数 输出 增加空格输出 样例输入 199 ...

  3. Hadoop的mapper输出中key和value之间的分隔符

    Hadoop的mapper输出中key和value之间的分隔符必须是tab,而不能是空格,否则,会把整条记录都当做key来进行sort,导致sort后出错.

  4. printf输出颜色和ANSI控制码(高亮,下划线,闪烁,光标位置,清屏等)

    printf输出颜色和ANSI控制码(高亮,下划线,闪烁,光标位置,清屏等) 帝都码农 2010-05-28 23:52:00 4560 收藏 2 文章标签: function file printf ...

  5. php去字符串空格,php怎么去掉字符串中空格

    php去掉字符串中空格的方法:1.使用正则表达式删除字符串中间的空格及去除字符串首尾空格:2.使用str_replace和strtr函数删除字符串中间的空格:3.使用trim函数去除一个字符串两端空格 ...

  6. 剑指offer (05):替换字符串中空格 (C++ Python 实现)

    1 题目: 请实现一个函数,把字符串中的每个空格替换成"%20".例如输入"We are happy.",则输出"We%20are%20happy.& ...

  7. python输出去空格_python不空格

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 退格(backspace) e 转义 000 空 n 换行 v 纵向制表符 t ...

  8. MATLAB强化学习实战(七) 在Simulink中训练DDPG控制倒立摆系统

    在Simulink中训练DDPG控制倒立摆系统 倒立摆的Simscape模型 创建环境接口 创建DDPG智能体 训练智能体 DDPG智能体仿真 此示例显示了如何训练深度确定性策略梯度(DDPG)智能体 ...

  9. python中空格键怎么写_python的空格键

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我使用pyqt 5和python 3创建了工作ui,除了单击按钮外,还想通过按键 ...

最新文章

  1. Asp.Net 分段,断点,下载
  2. 2019五个最棒的机器学习课程
  3. (Docker实战) 第三篇:配置_开发环境
  4. R语言学习 - 热图简化
  5. 吊炸天!一行命令快速部署大规模K8S集群!!!
  6. Android解析SVG
  7. _Linux后台开发6大常用的开源库,让你在同行中脱颖而出
  8. python程序如何执行死刑_「Python基础知识」Python生成器函数
  9. 如今市面上有哪些可以远程的软件?
  10. Echarts绘制极坐标系下的多色柱状图
  11. 图片云存储(腾讯云 七牛云)
  12. 程序员常用 英语单词
  13. mysql XA 分布式事务、DTM TCC事务(多语言支持)
  14. VC实现:bmp转jpg、jpg转bmp、截屏保存jpg
  15. DOM 详细 一篇就够【重点】
  16. 剑指offer 从未到头打印列表
  17. BUAA-2023软件工程——团队成员介绍
  18. mysql grant produce_ERROR 1045 (28000) Mysql中grant 使用不当导致的生产事故
  19. 【ACWing】195. 骑士精神
  20. KDE:唯有失去了,才懂得珍惜

热门文章

  1. java的locate用法,locate: command not found
  2. win32实现类酷狗安装的进度条显示
  3. web黑盒邮箱临界值验证
  4. 简易小游戏(类似打飞机)的简单实现cocos2d-x-2.1.5
  5. 【AI人工智能】十分钟读完人工智能的三生三世
  6. 比谈恋爱还简单的动态路由协议 不会? 我教你啊~
  7. python中for循环流程图_Python编程中的for循环语句学习教程
  8. MATLAB的音色差异和识别,乐器音色识别研究.pdf
  9. 014-使用 Records 访问多种数据库
  10. Perceptron(mlpack)