社区讨论

求助

P1957口算练习题参与者 1已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@locnarcc
此快照首次捕获于
2023/10/30 16:35
2 年前
此快照最后确认于
2023/11/05 03:38
2 年前
查看原帖
惊,同样的程序

Vs code对了:

Vs code

提交错了:

提交

IDE一试也错了:

IDE

代码:

CPP
#include<bits/stdc++.h>
using namespace std;
char s[15],o;
int t,i,j,f[3],len;
int _len(int x){
    int cnt=0;
    while(x)
        cnt++,x/=10;
    return cnt;
}
int main(){
    scanf("%d\n",&t);
    while(t--){
        cin.getline(s,15);
        f[1]=f[2]=0;
        len=strlen(s);
        switch(s[0]){
            case 'a':{
                o='a';
                for(i=2,j=1;i<len;i++)
                    if(s[i]!=' ')
                        f[j]=f[j]*10+(s[i]-'0');
                    else
                        j=2;
                printf("%d+%d=%d\n%d\n",f[1],f[2],f[1]+f[2],len-1+_len(f[1]+f[2]));
                break;
            }
            case 'b':{
                o='b';
                for(i=2,j=1;i<len;i++)
                    if(s[i]!=' ')
                        f[j]=f[j]*10+(s[i]-'0');
                    else
                        j=2;
                printf("%d-%d=%d\n%d\n",f[1],f[2],f[1]-f[2],len-1+_len(f[1]-f[2]));
                break;
            }
            case 'c':{
                o='c';
                for(i=2,j=1;i<len;i++)
                    if(s[i]!=' ')
                        f[j]=f[j]*10+(s[i]-'0');
                    else
                        j=2;
                printf("%d*%d=%d\n%d\n",f[1],f[2],f[1]*f[2],len-1+_len(f[1]*f[2]));
                break;
            }
            default:{
                for(i=0,j=1;i<len;i++)
                    if(s[i]!=' ')
                        f[j]=f[j]*10+(s[i]-'0');
                    else
                        j=2;
                if(o=='a')
                    printf("%d+%d=%d\n%d\n",f[1],f[2],f[1]+f[2],len+1+_len(f[1]+f[2]));
                else if(o=='b')
                    printf("%d-%d=%d\n%d\n",f[1],f[2],f[1]-f[2],len+1+_len(f[1]-f[2]));
                else
                    printf("%d*%d=%d\n%d\n",f[1],f[2],f[1]*f[2],len+1+_len(f[1]*f[2]));
                break;
            }
        }
    }
    return 0;
}
求教大佬们。

回复

1 条回复,欢迎继续交流。

正在加载回复...