Radan小哥 2021-04-09 20:09 采纳率: 40%
浏览 16

22. 18 输出样例2: ? + 18 = ?

#include<iostream>
#include<stdlib.h>
#include <cstring>
using namespace std;
int main()
{   
	int a;
	int b;
	cin>>a>>b;
	//输入两个数的值 
    if(a>=1&&a<=10000&&b<=10000&&b>=1)
	{
		cout<<a<<" + "<<b<<" = "<<a+b;
	 } 
	else if(a>1&&a<=10000)
	
	{
		cout<<a <<" + "<<"?"<<" = "<<"?";
	}
	else if(b>1&&b<=10000) 
	{
			cout<<"?"<<" + "<<b<<" = "<<"?";
	}
	else {
		cout<<"?"<<" + "<<"?"<<" = "<<"?";
	}
	return 0;
 } 

不正确  例如2. 18输出的是2+?=?  和要求的不符合  怎么处理这个问题呢??求指教!

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-18 17:24
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题出在if条件语句中的判断条件不够完整,需要对a和b的取值范围进行更详细的判断。可以使用if语句嵌套的方式进行判断,分别对a和b进行范围的判断。 以下是修改后的代码示例:
    #include <iostream>
    #include <stdlib.h>
    #include <cstring>
    using namespace std;
    int main(){
        int a;
        int b;
        cin >> a >> b; //输入两个数的值
        if((a >= 1 && a <= 10000) && (b >= 1 && b <= 10000)){
            cout << a << " + " << b << " = " << a+b;
        } else if(a >= 1 && a <= 10000){
            cout << a << " + ? = ?";
        } else if(b >= 1 && b <= 10000){
            cout << "? + " << b << " = ?";
        } else {
            cout << "? + ? = ?";
        }
        return 0;
    }
    

    这样修改后,无论输入的a和b在什么范围内,都能正确输出结果,符合要求。

    评论

报告相同问题?