赛码网常见接受参数的方法

前段时间在赛码网上在线笔试,被其编译器各种坑,明明在本地上可以测出数据,但一放上去就是0%,如果本地测得数据是可以的话,说明逻辑基本没问题,那很明显就是在接收参数时出现问题了,经过对赛码网上的编程题的各种常见的传参形式,总结了以下一些基本的接受参数的方法,希望能帮助各位在再笔试时不会被坑:

一行的参数就不多说了,用cin或scanf;主要是多行参数的接收和数组的接收;

关于数组接收有时候会说用空格或,隔开什么的,基本上就这两种方式,其实你只要按正常方式接收就好,如:

12345

1,2,3,4,5,

1 2 3 4 5

统一用C接收:

for(i=0;i<n;++i)

{

  scanf("%d",&arr[i]);

}

用C++接收:

for(i=0;i<n;++i)

{

  cin>>arr[i];

}

(这里只是说的数组,如果人家给了你固定格式,像日期之类的1994-2-9,那你就乖乖地按scanf("%d-%d-%d",a,b,c)来)

但一般它会让你接收数组大小,如:

5

12345

之类的多行数据接收。

其实关于多行数据我建议就用STL中的容器接收,一次性接收完毕,然后稍加处理就好,如上面的例子可如下接收:

vector<int> arr;

int n,size;

while(cin>>n)

{

    arr.push_back(n);

}

size=arr[0];

arr.erase(arr.begin());

这样你的数组大小在size中,数组就在arr里,而且容器用起来很方便还很快,如果是二维的话也可以这样接收,只是你在用的时候注意下取值方式就好了,当然主要还是根据题来选择的,如果是C的话,赛码网的编译器也是在支持这样写的:

int n;

scanf("%d",&n);

int a[n];

for(i=0;i<n;++i)

{

  scanf("%d",&arr[i]);

}

可是严格来说是不行的,所以建议尽量用C++来接收参数;

       对于字符串和字符数组的接收除了scanf外,还有String类,char* fgets(char*string,int size,FILE*stream) ,cin中的getline函数(用法:istream& getline (char* s, streamsize n );
)都可以在赛码网上进行接收。

      还有一种就是它说给n组测试数据,求输出结果,意思就是让你在n次循环下,每接收一组数据,处理一次,如:

输入:

3

1 2

3 4

5 6

输出:

1 2

3 4 

5 6

大体如下:

int n,a,b;

cin>>n;

while(n--)

{

  cin>>a>>b;

  cout<<a<<b<<endl;

}

以上就是个人总结出来的大部分参数接收方法,根据题意配合着使用应该可以应付大部分编程题,个人建议:尽量使用C++,尽量用STL容器。希望能帮助大家,如果还有其他建议和方法,欢迎留言微笑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
赛马实验是一种常用的实验方法,用来测量和比较不同个体、组织或系统之间的性能。这个实验的基本原理是将不同条件下的参与者分为多组,然后观察和记录它们在相同环境下的表现和成果。 在赛马实验中,我们首先需要确定实验的目的和假设。然后根据假设,选择适当的参与者和参与者的特征进行分组。每组参与者都会在相同的环境条件下进行特定任务或活动,并被记录下来。 接下来,我们会设立一个合适的时间段,以确保实验的结果具有可比性。通过收集和分析数据,我们可以比较不同组参与者的表现和成果,评估哪种条件下的参与者更出色。 赛马实验可以被广泛应用于不同领域。例如,在医学研究中,赛马实验可以用来比较不同治疗方法对患者康复的效果。在教育领域,赛马实验可以用来评估不同教学方法对学生学习成绩的影响。在市场营销中,赛马实验可以用来比较不同广告策略对销售额的影响。 通过赛马实验,我们可以得出一些有意义的结论,以便进一步改进和优化现有的条件。然而,需要注意的是,赛马实验并不一定能够完全预测实际情况,因为实验环境和条件往往与现实世界存在差异。 总之,赛马实验是一种有效的实验方法,可以用来评估和比较不同条件下的参与者的表现和成果。通过这种实验,我们可以获得有关不同条件下的相对优劣的信息,并为进一步优化和改进提供有价值的参考。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值