C++ 求给定整数的邻域之和
给定一个由五个整数组成的序列。将这些数字(第一个和最后一个数字除外)替换为其相邻数字的总和。打印结果数字 好的,对代码进行编码和测试,它给了我10%的有效性。我不知道我在哪里犯了错误?代码看起来很好,但我不能得到100%。这是家庭作业,只是想让你知道,伙计们,帮我找出我犯了错误的地方C++ 求给定整数的邻域之和,c++,C++,给定一个由五个整数组成的序列。将这些数字(第一个和最后一个数字除外)替换为其相邻数字的总和。打印结果数字 好的,对代码进行编码和测试,它给了我10%的有效性。我不知道我在哪里犯了错误?代码看起来很好,但我不能得到100%。这是家庭作业,只是想让你知道,伙计们,帮我找出我犯了错误的地方 #include <bits/stdc++.h> using namespace std; int main() { int a,b,c,d,f; cin>>a>>b&g
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d,f;
cin>>a>>b>>c>>d>>f;
int b_1=(b-1)+(b+1);
int c_1=(c-1)+(c+1);
int d_1=(d-1)+(d+1);
cout<<a<<b_1<<c_1<<d_1<<f;
}
//input 1 2 3 4 5
//ouput 1 4 6 8 5
我想你误解了这个问题。邻域之和是序列中给定数字前后的数字之和。这似乎是显而易见的事实,你不应该计算的第一个和最后一个数字-每个只有一个邻居
int a, b, c, d, e;
if (cin >> a >> b >> c >> d >> e) {
cout << a << (a + c) << (b + d) << (c + e) << e;
}
我想你误解了这个问题。邻域之和是序列中给定数字前后的数字之和。这似乎是显而易见的事实,你不应该计算的第一个和最后一个数字-每个只有一个邻居
int a, b, c, d, e;
if (cin >> a >> b >> c >> d >> e) {
cout << a << (a + c) << (b + d) << (c + e) << e;
}
首先注意你自己的信息 给定一个由五个整数组成的序列。替换这些数字,除非 第一个和最后一个,与他们的邻居的总和。打印 结果数字 因此,您不仅需要输出新值。您需要替换变量的值 您只需使用标头中声明的标准函数std::exchange即可完成以下任务 比如说
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = std::exchange( b, a + c );
tmp = std::exchange( c, tmp + d );
std::exchange( d, tmp + f );
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = b;
b = a + c;
std::swap( tmp, c );
c += d;
std::swap( tmp, d );
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int prev = a;
int tmp = prev;
prev = b;
b = tmp;
b += c;
tmp = prev;
prev = c;
c = tmp;
c += d;
tmp = prev;
prev = d;
d = tmp;
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
另一种方法是使用标准函数std::swap。比如说
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = std::exchange( b, a + c );
tmp = std::exchange( c, tmp + d );
std::exchange( d, tmp + f );
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = b;
b = a + c;
std::swap( tmp, c );
c += d;
std::swap( tmp, d );
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int prev = a;
int tmp = prev;
prev = b;
b = tmp;
b += c;
tmp = prev;
prev = c;
c = tmp;
c += d;
tmp = prev;
prev = d;
d = tmp;
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
您可以自己模拟函数std::swap。比如说
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = std::exchange( b, a + c );
tmp = std::exchange( c, tmp + d );
std::exchange( d, tmp + f );
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = b;
b = a + c;
std::swap( tmp, c );
c += d;
std::swap( tmp, d );
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int prev = a;
int tmp = prev;
prev = b;
b = tmp;
b += c;
tmp = prev;
prev = c;
c = tmp;
c += d;
tmp = prev;
prev = d;
d = tmp;
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
最后是最简单的方法
#include <iostream>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = b;
b = a + c;
c = tmp + d;
d = f + b - a;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
使用最后一种方法:这对初学者来说很简单。首先要注意你自己的信息 给定一个由五个整数组成的序列。替换这些数字,除非 第一个和最后一个,与他们的邻居的总和。打印 结果数字 因此,您不仅需要输出新值。您需要替换变量的值 您只需使用标头中声明的标准函数std::exchange即可完成以下任务 比如说
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = std::exchange( b, a + c );
tmp = std::exchange( c, tmp + d );
std::exchange( d, tmp + f );
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = b;
b = a + c;
std::swap( tmp, c );
c += d;
std::swap( tmp, d );
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int prev = a;
int tmp = prev;
prev = b;
b = tmp;
b += c;
tmp = prev;
prev = c;
c = tmp;
c += d;
tmp = prev;
prev = d;
d = tmp;
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
另一种方法是使用标准函数std::swap。比如说
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = std::exchange( b, a + c );
tmp = std::exchange( c, tmp + d );
std::exchange( d, tmp + f );
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = b;
b = a + c;
std::swap( tmp, c );
c += d;
std::swap( tmp, d );
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int prev = a;
int tmp = prev;
prev = b;
b = tmp;
b += c;
tmp = prev;
prev = c;
c = tmp;
c += d;
tmp = prev;
prev = d;
d = tmp;
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
您可以自己模拟函数std::swap。比如说
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = std::exchange( b, a + c );
tmp = std::exchange( c, tmp + d );
std::exchange( d, tmp + f );
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
#include <utility>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = b;
b = a + c;
std::swap( tmp, c );
c += d;
std::swap( tmp, d );
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
#include <iostream>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int prev = a;
int tmp = prev;
prev = b;
b = tmp;
b += c;
tmp = prev;
prev = c;
c = tmp;
c += d;
tmp = prev;
prev = d;
d = tmp;
d += f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
最后是最简单的方法
#include <iostream>
int main()
{
int a, b, c, d, f;
std::cin >> a >> b >> c >> d >> f;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
int tmp = b;
b = a + c;
c = tmp + d;
d = f + b - a;
std::cout << "a = " << a
<< ", b = " << b
<< ", c = " << c
<< ", d = " << d
<< ", f = " << f
<< '\n';
return 0;
}
使用最后一种方法:这对初学者来说很简单。只有当数字按自然顺序排列时,代码才会起作用。例如,尝试输入362119!让我问你:b的邻居是什么?b-1或b+1等于吗?输入序列中的相邻数字。可能你误解了这个问题。我的理解是:int b_1=a+c@ElgunQuliyev 1如前所述,x-1+x+1相当于2*x。如果是这样的话,为什么任务不说用两倍的数字替换这个数字呢?2为什么你认为除了第一句和最后一句之外,你的代码只有在数字按自然顺序排列时才有效。例如,尝试输入362119!让我问你:b的邻居是什么?b-1或b+1等于吗?输入序列中的相邻数字。可能你误解了这个问题。我的理解是:int b_1=a+c@ElgunQuliyev 1如前所述,x-1+x+1相当于2*x。如果是这样的话,为什么任务不说用两倍的数字替换这个数字呢?2.你为什么认为除了第一条和最后一条外,其他条款都在练习中呢?我太笨了,现在我明白了,我对编码很陌生lott@ElgunQuliyev这是完全可以理解的错误。你只是误解了老师的指示。我把你的评论投在了感谢部分,而不是虚假部分。@formerlyknownas_463035818非常感谢你的激励:我非常愚蠢,现在我明白了,我在编码方面是个新手lott@ElgunQuliyev这是完全可以理解的错误。你只是误解了老师的指示。我把你的评论投到了感谢的部分,而不是虚假的部分。@formerlyknownas_463035818非常感谢你的激励: