我只是一名学生并且开始学习C编程,所以我并没有真正处于高级水平。
我有这段代码,我想我很容易理解我要做的事情。但是,我之前收到错误说错误。
我怀疑问题是if和else之间的if-else语句。你们怎么解决它?
#include <stdio.h>
#include <iostream>
int main ()
{
int N;
scanf("%i",&N);
if (N > 50)
(if (N > 75)
N = N - 25;
N = N - 10;
)
else
N = N + 10;
printf("%i",N);
}
答案 0 :(得分:1)
考虑到错误消息,您似乎正在将程序编译为C ++程序。否则,编译器首先会发出有关错误标题<iostream>
的消息。
如果是C ++程序,那么就不需要使用标题<stdio.h>
中的函数,而且还应该包含C ++中的函数,如
#include <cstdio>
所以我建议删除标题并使用标准的C ++本机I / O函数。
而不是括号括在括号中的if语句的子语句。
if (N > 50)
(if (N > 75)
N = N - 25;
N = N - 10;
)
很明显,如果N大于75,那么很明显它大于50.所以第一个if语句也可能被删除。
使用大写字母命名普通变量是个坏主意。
考虑到所有这些,程序看起来像
#include <iostream>
int main()
{
int n;
std::cin >> n;
if ( n > 75 )
{
n = n - 25; // or n -= 25;
n = n - 10; // or n -= 10;
}
else
{
n = n + 10; // or n += 10;
}
std::cout << n << std::endl;
}
如果您想使用标准C I / O功能,那么程序可能看起来像
#include <cstdio>
int main()
{
int n;
std::scanf( "%i", &n );
if ( n > 75 )
{
n = n - 25; // or n -= 25;
n = n - 10; // or n -= 10;
}
else
{
n = n + 10; // or n += 10;
}
std::printf( "%i\n", n );
}
如果它是一个C程序并且错误地包含了标题<iostream>
那么该程序可能看起来像
#include <stdio.h>
int main( void )
{
int n;
scanf( "%i", &n );
if ( n > 75 )
{
n = n - 25; // or n -= 25;
n = n - 10; // or n -= 10;
}
else
{
n = n + 10; // or n += 10;
}
printf( "%i\n", n );
}
答案 1 :(得分:0)
如果条件允许,只需将(
更改为{
。我已经编辑了你的代码 -
#include <stdio.h>
#include <iostream>
int main ()
{
int N;
scanf("%d",&N);
if (N > 50)
{
if (N > 75)
N = N - 25;
N = N - 10;
}
else
N = N + 10;
printf("%d",N);
}