我试图检查3个边是否在C++中形成一个三角形,但我尝试过的所有可能数字的答案都说错了......
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
if (pow(a,2) == pow(b,2) * pow(c,2) || pow(b,2) == pow(a,2) * pow(c,2) || pow(c,2) == pow(a,2) * pow(b,2))
cout << "The sides form a triangle" << endl;
else
cout << "The sides do not form a triangle." << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud) #include <iostream>
using namespace std;
int main()
{
int num1 = 0;
int num2 = 1;
int num_temp;
int num_next = 1;
int n;
cin >> n;
for (int i = 0; i < n; i++){
cout << num_next << " ";
num_next = num1 + num2;
num1 = num2;
num_temp = num2;
num2 = num_next - num1;
num1 = num_temp;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我必须输出第一个"n"斐波纳契数,但我认为逻辑上存在一些问题.我无法找出我做错了什么.前3或4个元素是正确的,但后来出现问题......
预期:
为n=9
0,1,1,2,3,5,8,13,21
实际:
1 1 1 1 1 1 1 1 1
我正在尝试学习stringstream,我有以下代码:
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
stringstream os;
os.str("Purohit");
os << "Vipul" << endl;
cout << os.str() << endl;
}
Run Code Online (Sandbox Code Playgroud)
当我编译并运行它时,我得到以下输出:
Vipul
t
Run Code Online (Sandbox Code Playgroud)
为什么?不应该输出Purohit Vipul?
我有以下代码;
#include <iostream>
using namespace std;
struct Slog1
{
char ime1;
int broj1;
};
struct Slog2
{
char ime2;
int broj2;
};
int main()
{
Slog1 aSlog, bSlog;
Slog2 cSlog;
aSlog = bSlog; // 1
bSlog.ime1 = cSlog.ime2; // 2
aSlog = cSlog; // 3
}
Run Code Online (Sandbox Code Playgroud)
现在,我宣布:
Slog1 aSlog, bSlog;
Slog2 cSlog;
Run Code Online (Sandbox Code Playgroud)
这些是结构变量,我很清楚.现在我有这些:
aSlog = bSlog; // 1
bSlog.ime1 = cSlog.ime2; // 2
aSlog = cSlog; // 3
Run Code Online (Sandbox Code Playgroud)
我无法理解这段代码的作用:
#include <iostream>
using namespace std;
int main()
{
int x = 0, y = 0;
if (x++ && y++)
y += 2;
cout << x + y << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
C++的输出为1.但我认为它应该是2?
为什么?因为在if语句的()中,我认为应该只检查它是否为真/假,所以它不会递增/递减任何整数.因为默认情况下这是真的,它会增加y为2?输出应该是0 + 2 = 2,但它只输出1?