C++ 倒序(正序)输出一串数 空格间隔 行末无空格

C++ 倒序(正序)输出一串数 空格间隔 行末无空格

算是做个小总结吧。很多题目中都会涉及到对输入的一串数字,进行处理后,再对其进行输出,其中的输出要求一般是:数字间以空格分隔,但是行末不得有多余空格。

思路分析

(1)输入的数字使用数组存储是最方便的。但是要注意设数组时,对类型要按照题目要求进行设置,同时可能在输入后要进行合法判断,对不合法输入要做出处理。

(2)输出数时使用for循环,为了保证行末不得有空格,需要在for循环中加上一个if判断,判断已经输出的数字个数与数组中的数的数目的大小,若小于,则输出一个空格,这样最后一个数后面就不会有空格了(因为最后一个数时,是等于,不满足条件)。

代码示例

#include<iostream>
#include <stdio.h>

using namespace std;
int main()
{
    int num_in[100];
    int i=0;
    int count=0;        //记录输出的数字的数目
    char c;
    while(i<5)    //输入5个数字
    {
        c=getchar();  //获取输入字符
        if((c>='0'&&c<='9')||c=='-')  //输入正整数、负整数
		{
			ungetc(c,stdin);
			cin>> num_in[i++];
		}
    }
    cout<<i<<endl;
       for(int j=0;j<5;j++)   //正序输出
    {
        cout<<num_in[j];
        count++;
        if(count<5) cout<<' ';

    }
    cout<<endl;
    count=0;              //重新置数
      for(int j=i-1;j>=0;j--)   //倒序输出
    {
        cout<<num_in[j];
        count++;
        if(count<5) cout<<' ';
    }

    return 0;
}

本代码仅供参考,如有疑问请参考思路分析或留言、私信版主

结果截图
在这里插入图片描述如需转载,请联系版主!

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值