99孩子 70分 第一个错误是符号错误
查看原帖
99孩子 70分 第一个错误是符号错误
389721
huaihuaihuai楼主2020/10/20 17:14
#include <stdio.h>
#include <string.h>
int main(){
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        char math;
        int num[2];
        scanf("\n%c",&math);
        if(math <97){//即非abccd
            scanf("%d %d",&num[0],&num[1]);
            int t=num[0];
                                            //还原数字
            int cum=0;
            while(t!=0){
                t/=10;
                cum++;
            }
            math-=48;//实现从字符到整形的转换
            int shu=math;//math用个int来代替防止溢出
            for(int i=0;i<cum;i++) shu*=10;//还原数字
            num[0]+=shu;                   //还原数字

            int N=(printf("%d+%d=%d\n",num[0],num[1],num[0]+num[1]));
            printf("%d\n",N-1);//多了个换行所以要-1
        }
        else{
            scanf("%d %d",&num[0],&num[1]);
            char ch;
            int sum;
            switch(math){
                case 'a':{
                    ch='+';
                    sum=num[0]+num[1];
                    break;
                }
                case 'b':{
                    ch='-';
                    sum=num[0]-num[1];
                    break;
                }
                case 'c':{
                    ch='*';
                    sum=num[0]*num[1];
                    break;
                }   
            }
            int N=(printf("%d%c%d=%d\n",num[0],ch,num[1],sum));
            printf("%d\n",N-1);
        }                
    }
    return 0;
    
}
2020/10/20 17:14
加载中...