新手光能
@刘睿轩 ,你的程序在 if(a[m-1]==b[0]) 这一句后面没有加上else,这样会导致如果满足数组接龙的条件,你不仅输出了接龙后的数组,还把两个数组又原样输出了一遍。应该把下面这些语句放在else里面:
for(int i=0;i<m;i++)
cout<<a[i]<<' ';
cout<<"\n";
for(int i=0;i<n;i++)
cout<<b[i]<<' ';
望采纳哦!
新手光能
这一题的思路大致如下:
输入两个数组,记为a和b;
判断a[m-1](a数组的最后一个元素)和b[0](b数组的第一个元素)是否相等,若是,先输出a数组,再输出b数组的第2-n个元素。
if(a[m-1]==b[0])
{
for(i=0;i<m;i++)
cout<<a[i]<<' ';
for(i=1;i<n;i++)
cout<<b[i]<<' ';
}
如果不是,依次输出两个数组,记得换行。
for(i=0;i<m;i++)
cout<<a[i]<<' ';
cout<<"\n";
for(i=0;i<n;i++)
cout<<b[i]<<' ';
中级光能
50:
#include<iostream>
using namespace std;
int main(){
int a[1000],b[1000],m,n;
cin >> m >> n;
for(int i=0;i<m;i++)
cin >> a[i];
for(int i=0;i<n;i++)
cin >> b[i];
if(a[m-1]==b[0])
{
for(int i=0;i<m;i++)
cout<<a[i]<<' ';
for(int i=1;i<n;i++)
cout<<b[i]<<' ';
}
for(int i=0;i<m;i++)
cout<<a[i]<<' ';
cout<<"\n";
for(int i=0;i<n;i++)
cout<<b[i]<<' ';
return 0;
}
新手天翼
这就是你样例1的运行结果啊……(这就是原因)
马佳滢在2018-02-16 15:14:38追加了内容
要加"else":要不然if(a[m-1]==b[0])不成立还好,直接打印数组,不然的话,不仅接龙了,还打印了一遍原样数组,这就是一些测试点OK,一些wrong的原因了。
(就是少了画红框的部分)