我在这里是非常新的和编码在一般情况下,所以道歉在我的问题和代码中的任何错误。我目前正在处理这个问题:
美国主要州际公路编号为1-99。奇数(如5或95)向北/南,而偶数(如10或90)向东/西。辅助公路编号为100-999,并以最右边两位数表示主要公路的服务.因此,I-405服务I-5,I-290服务I-90.注: 200不是有效的辅助公路,因为00不是有效的主公路号码。给定一个公路编号,说明它是主干道还是辅助公路。如果是辅助性的,说明它服务的主要公路是什么。还指出(主要的)公路是否北/南或东/西。例:如果输入是: 290,输出是: I-290是辅助的,服务于I-90,向东/向西。
我的代码目前如下所示:
#include iostream
using namespace std;
int main()
{
int A; // A is the value for the Auxiliary highway
// This message will display when the code is run//
cout << "Please enter the three digit Auxiliary highway number" << endl;
cin >> A; // User inputs the Auxiliary highway number
do A-= 100;
while (A>100);
我不知道我在做什么,但我不知道该如何做,所以我首先从第二部分开始(试图使代码理解,如果我在I-290的辅助号码,那么我将服务I-90)。当A值超过100时,我试着减去100,理论上,这会给我留下一个2位数的数字,也就是州际公路号码。我知道当输入一个以两个零结尾的数字时会发生错误,所以我计划在代码的开头使用if- but语句,这实际上只是防止了这一点,但同样,我不知道该如何做,但我认为它可能有效。
发布于 2022-09-18 09:18:04
对于这样的问题,你要做的第一件事就是一步一步地思考。如果给你一个公路号码,你是如何用笔和纸解决这个问题的?
首先,你需要一段代码来告诉你这个数字是否是主数据,所以代码需要告诉你这个数字是否小于或等于99,如果是,那么它是主的,如果不是,那么它是辅助的。
在不主要的情况下,您需要一段代码来告诉您最后两个数字的数字是什么。最简单的方法是将数字转换为字符串并删除第一个字符,然后将其转换回整数。
最后,您需要一段代码来告诉您,主干道是北/南,还是东/西。所以你需要检查这个数字是偶数还是奇数。最简单的方法是使用模块化函数(x%2==y)。如果y等于零,那你就知道这条路是东/西的,否则它就向南行驶。
希望您可以看到,这个问题是一系列小问题,您可以解决1乘1,以获得完整的解决方案。那么问题就不那么可怕了。
恐怕我不太了解C++来给您提供一个编码的解决方案,但是希望您可以从这里了解它。这对你来说是一个很好的练习,因为很多编程都是把你的头撞到墙上,直到你想出解决方案为止。
发布于 2022-09-18 14:50:39
解决这个问题有很多种方法。这里有一个:
#include <iostream>
cin >> highwayNumber;
如果(highwayNumber >0& highwayNumber < 100){ highwayType =“主”;//确定highwayNumber是偶数还是奇数如果( highwayNumber %2 == 0){ primaryType =“东西”;} highwayNumber { primaryType =“南北”;}否则if(highwayNumber >= 100 &highwayNumber <= 999){ highwayType =“辅助性”;//确定primaryHighway auxiliaryHighway服务auxiliaryServiced =highwayNumber% 100;{ cout <<“无效公路号码”<< end;}
https://stackoverflow.com/questions/73761287
复制相似问题