7-1正整数A+B(15分)
正の整数A+B(15分)
問題の目標は簡単で、2つの正の整数AとBの和を求めることであり、そのうちAとBは区間にある[1000].少し面倒なのは、入力が2つの正の整数であることを保証しないことです.入力形式:
1行にAとBを入力し、その間をスペースで区切ります.問題は、AとBは必ずしも要求を満たす正の整数ではなく、範囲外の数字、負数、小数点の実数、さらには文字化けの山である可能性があることだ.注意:入力に現れた1番目のスペースをAとBの区切りと見なします.タイトルは、少なくとも1つのスペースが存在し、Bが空の文字列ではないことを保証します.出力フォーマット:
入力が2つの正の整数である場合、フォーマットA+B=と出力されます.入力が要求に合わない場合は、対応する位置で出力しますか?明らかにこの時も.|入力サンプル|出力サンプル|
入力サンプル
出力サンプル
123 456
123 + 456 = 579
22. 18
? + 18 = ?
-100 blabla bla…33
? + ? = ?
ピットポイント:1.A,Bはいずれも【11000】の正の整数である.2.最初のスペースがBになるので、Bは12 3のような標準的な入力ではないかもしれません.3.Aは空の文字列である可能性があります
atoi()文字列回転数値詳細#テストデータはすべて地元で走っている自分のサンプルで、検出されていないかもしれませんが、大物たちが手動で間違いを報告することを歓迎します.へへへへ文字列と数字の間の相互変換は直接セットで、ノートはまだ整理中です.
問題の目標は簡単で、2つの正の整数AとBの和を求めることであり、そのうちAとBは区間にある[1000].少し面倒なのは、入力が2つの正の整数であることを保証しないことです.入力形式:
1行にAとBを入力し、その間をスペースで区切ります.問題は、AとBは必ずしも要求を満たす正の整数ではなく、範囲外の数字、負数、小数点の実数、さらには文字化けの山である可能性があることだ.注意:入力に現れた1番目のスペースをAとBの区切りと見なします.タイトルは、少なくとも1つのスペースが存在し、Bが空の文字列ではないことを保証します.出力フォーマット:
入力が2つの正の整数である場合、フォーマットA+B=と出力されます.入力が要求に合わない場合は、対応する位置で出力しますか?明らかにこの時も.|入力サンプル|出力サンプル|
入力サンプル
出力サンプル
123 456
123 + 456 = 579
22. 18
? + 18 = ?
-100 blabla bla…33
? + ? = ?
ピットポイント:1.A,Bはいずれも【11000】の正の整数である.2.最初のスペースがBになるので、Bは12 3のような標準的な入力ではないかもしれません.3.Aは空の文字列である可能性があります
#include
#include
#include
using namespace std;
string a, b;int flag = 1,sum=0;
void fun(string &a)
{
int num = atoi(a.c_str()); //atoi int,
// c_str() string char*
if (a.length() <= 4 && num >= 1 && num <= 1000 && to_string(num) == a)
sum += num; //
else //to_string() int string, a
{
a = "?"; // “?”
flag = 0;
}
}
int main()
{
getline(cin,a);
b=a;
b.erase(0, b.find_first_of(" ")+1);//
a.erase(a.find_first_of(" ")); //
fun(a);
fun(b);
cout << a << " + " << b << " = ";
if (flag) cout << sum;
else cout << '?';
}
atoi()文字列回転数値詳細#テストデータはすべて地元で走っている自分のサンプルで、検出されていないかもしれませんが、大物たちが手動で間違いを報告することを歓迎します.へへへへ文字列と数字の間の相互変換は直接セットで、ノートはまだ整理中です.