結果

問題 No.222 引き算と足し算
ユーザー fiord
提出日時 2015-06-06 07:49:19
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 646 bytes
コンパイル時間 1,343 ms
コンパイル使用メモリ 160,012 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-15 21:53:33
合計ジャッジ時間 2,279 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 31
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:28:9: warning: ‘ope’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   28 |         if(ope) cout<<x-y<<endl;
      |         ^~

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
int main(){
	string s;	cin>>s;
	int x=0,y=0;
	bool ope,xy=true,opeal=true;
	string temp;
	for(int i=0;i<(int)s.size();i++){
		if(i>0&&s[i]=='+'&&opeal){
			ope=true;	xy=false;	opeal=false;
		}
		else if(i>0&&s[i]=='-'&&opeal){
			ope=false;	xy=false;	opeal=false;
		}
		else if('0'<=s[i]&&s[i]<='9'&&xy){
			temp=s[i];
			x=x*10+atoi(temp.c_str());
		}
		else if('0'<=s[i]&&s[i]<='9'){
			temp=s[i];
			y=y*10+atoi(temp.c_str());
		}
	}
	if(s[0]=='-')	x*=-1;
	int cnt=1;
	while(s[cnt]!='+'&&s[cnt]!='-')	cnt++;
	if(s[cnt+1]=='-')	y*=-1;
	if(ope)	cout<<x-y<<endl;
	else 	cout<<x+y<<endl;
	return 0;
}
0