标题:怎么才能让代码少走一些步骤题目在里面
只看楼主
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
结帖率:100%
已结贴  问题点数:20 回复次数:15 
怎么才能让代码少走一些步骤题目在里面

玩这游戏老不给星星✨
我的代码在下面怎么优化啊
#include<iostream>
int main()
{
    int a[4]
    {
    4,- 3, 2, -5};
    /* for(int i=0;i!=4;++i) {std::cin>>a[i]; } */
    for (int i = 0; i != 4; ++i)
    {
        int tem = a[i];
        if (tem>= 0)
        {
            do
    {std::cout << tem<<"  ";
            }
            while (tem--);   
        }
        else
        {    do
        
        {
                std::cout << tem<<"  ";
            }
    while(tem++);
            
        }
//    std::cout<<tem;
    }
   
}
搜索更多相关主题的帖子: std 代码 步骤 int cout 
2020-02-02 11:30
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
功能是什么,介绍下

剑栈风樯各苦辛,别时冰雪到时春
2020-02-02 13:43
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
得分:0 
倒计时
输入一维数组将数组中的每一个元素进行倒计时
列入-2,3,-3,1
输出-2 -1 0 3 2 1 0 -3 -2  -1 0 1 0

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-02 14:16
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
得分:0 
当然我这个是儿童游戏代码都很简单,如果大佬有更好的解法可以教导教导我

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-02 14:21
雪影辰风
Rank: 6Rank: 6
来 自:衡阳市
等 级:贵宾
威 望:22
帖 子:177
专家分:387
注 册:2019-6-17
得分:4 
效率不知道怎么样,你看看行不行
程序代码:
#include<cstdio>
#include<iostream>
using namespace std;
inline void print(int num) {
    bool minus=false;
    if(num<0)
        minus=true;
    while(true) {
        if(num==0)
            break;
        printf("%d ",num);
        if(minus) {
            num++;
            continue;
        }
        num--;
    }
    putchar('0');
    putchar(' ');
}
int main() {
    int num;
    while(cin>>num) {
        print(num);
    }
    return 0;
}

如果还是不行我再改改
2020-02-02 15:17
雪影辰风
Rank: 6Rank: 6
来 自:衡阳市
等 级:贵宾
威 望:22
帖 子:177
专家分:387
注 册:2019-6-17
得分:0 
我是做OI的,一般cin/cout慢于scanf/printf慢于getchar/putchar,你可以了解一下,因为cin功能过于强大,所以会慢一点,我做题的时候基本上都是没用scanf而超的时
2020-02-02 15:22
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:7 
程序代码:
#include<cstdio>
#include<iostream>
using namespace std;
inline void print(int num) {
    printf("%d ",num);
    if(num<0) {
        print(num+1);
    } else if(num>0) {
        print(num-1);
    }
}
int main() {
    int num;
    while(cin>>num) {
        print(num);
    }
    return 0;
}

改来改去没啥区别,看看楼下的大神答案吧

剑栈风樯各苦辛,别时冰雪到时春
2020-02-02 15:51
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
得分:0 
谢谢大佬的回答,不过输入必须是数组,而非单一变量输出数组个数4个

[此贴子已经被作者于2020-2-2 16:23编辑过]


把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-02 16:22
雪影辰风
Rank: 6Rank: 6
来 自:衡阳市
等 级:贵宾
威 望:22
帖 子:177
专家分:387
注 册:2019-6-17
得分:0 
回复 8楼 叶纤
如果是说连续输入多个数然后输出的话是可以这么写的,这样写是在不知道输入多少个数的情况下写的,结束输出时Enter+(Ctrl+Z)+Enter即可
2020-02-02 17:22
雪影辰风
Rank: 6Rank: 6
来 自:衡阳市
等 级:贵宾
威 望:22
帖 子:177
专家分:387
注 册:2019-6-17
得分:0 
回复 7楼 林月儿
不能这么说,算法的简便以及效率关乎到代码的质量,你想,如果一个大公司老板,他要招一个程序员,程序员A与B同样可以写出相同的效果,但是A的代码繁琐复杂,B的代码简洁易懂,你会招哪个?
2020-02-02 17:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499069-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016306 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved