湖南省第六届大学生计算机程序设计竞赛---弟弟的作业
生活随笔
收集整理的這篇文章主要介紹了
湖南省第六届大学生计算机程序设计竞赛---弟弟的作业
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1007: 弟弟的作業
時間限制:?1 Sec??內存限制:?128 MB提交:?3??解決:?3
[提交][狀態][討論版]
題目描述
你的弟弟剛做完了“100以內數的加減法”這部分的作業,請你幫他檢查一下。每道題目(包括弟弟的答案)的格式為a+b=c或者a-b=c,其中a和b是作業中給出的,均為不超過100的非負整數;c是弟弟算出的答案,可能是不超過200的非負整數,也可能是單個字符"?",表示他不會算。
輸入
輸入文件包含不超過100行,以文件結束符結尾。每行包含一道題目,格式保證符合上述規定,且不包含任何空白字符。輸入的所有整數均不含前導0。
輸出
輸出僅一行,包含一個非負整數,即弟弟答對的題目數量。
樣例輸入
1+2=3 3-1=5 6+7=? 99-0=99樣例輸出
2提示
來源
湖南省第六屆大學生計算機程序設計競賽
又刷了一道水題,開始的時候對最后的那個字符沒處理好,出現了異常錯誤;這個題目主要是對最后一個字符的處理,前面的可以直接輸入,也可以轉變再輸入,一個簡單題,當有錯誤的情況時,我們可以做一個標志;
下面是代碼:
#include <cstdio> #include <cstring> int main() {int a,b,c,i;char op,s[10];int count=0;while(scanf("%d%c%d=%s",&a,&op,&b,s)!=EOF){i=0;if(s[i]>='0'&&s[i]<='9') //對最后一個數c進行處理{c=0;while(s[i]>='0'&&s[i]<='9'){c=c*10+(s[i]-'0');i++;}}elsec=-1;//錯誤標記if((op=='+'&&c==a+b)||(op=='-'&&c==a-b))count++;}printf("%d\n",count);return 0; }下面這個寫的就繁瑣了一點;
#include <cstdio> #include <cstring> int main() {int a,b,c,i;char op,s[10];int count=0;while(scanf("%s",s)!=EOF){i=0;a=0;b=0;while(s[i]>='0'&&s[i]<='9'){a=a*10+(s[i]-'0');i++;}op=s[i];i++;while(s[i]>='0'&&s[i]<='9'){b=b*10+(s[i]-'0');i++;}i++;if(s[i]>='0'&&s[i]<='9'){c=0;while(s[i]>='0'&&s[i]<='9'){c=c*10+(s[i]-'0');i++;}}elsec=-1;//錯誤標記if((op=='+'&&c==a+b)||(op=='-'&&c==a-b))count++;}printf("%d\n",count);return 0; }思路都還是很簡單的,每天一道水題,好久都沒刷題了,練練手感,過段時間就要開始真正的做題啦~
總結
以上是生活随笔為你收集整理的湖南省第六届大学生计算机程序设计竞赛---弟弟的作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch教程(4) H
- 下一篇: 搜狗安装输入法操作