求助,我样例都过不了【猛男落泪】

P1957 口算练习题

竹下的魂 @ 2020-08-07 16:39:04

#include<iostream>
#include<algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int main(){
    char s[100],first,ans[100],w;
    int n,a,b,c;
    cin>>n;
    while(n--){
        fgets(s,sizeof(s),stdin);
        if(s[0]>='a'&&s[0]<='z')
            first = s[0],s[0] = ' ';
        sscanf(s," %d%d",&a,&b);
        switch(first){
            case('a'):c=a+b;sprintf(ans,"%d+%d=%d",a,b,c);break;
            case('b'):c=a-b;sprintf(ans,"%d-%d=%d",a,b,c);break;
            case('c'):c=a*b;sprintf(ans,"%d*%d=%d",a,b,c);break;
        }
        printf("%s\n%d\n",ans,int(strlen(ans)));
    }
    return 0;
}

by 竹下的魂 @ 2020-08-07 16:39:57

请无视那个没有使用的变量w,我懒得再重新发一遍了


by konjacp @ 2020-08-07 16:43:05

要有多心把才会想到用sscanfsprintf...直接scanfprintf不好吗


by Textbook_blasphemy @ 2020-08-07 16:43:47

恕我学业不精,sscanf是什么意思(真不知道)


by 竹下的魂 @ 2020-08-07 16:46:23

@konjacp 《深基》上就这样写的。。


by konjacp @ 2020-08-07 16:48:04

@竹下的魂 就直接用scanf吧...不熟悉的东西在考场上写挂了谁都救不了


by konjacp @ 2020-08-07 16:48:35

@陶(戴)佳伟 从某个指定位置scanf


by 竹下的魂 @ 2020-08-07 16:49:28

这个也不算什么不熟悉的东西吧,很常用的啊


by Textbook_blasphemy @ 2020-08-07 16:51:40

@konjacp 谢谢,已bfs


by yummy @ 2020-08-07 16:54:29

@竹下的魂 通过我对你谷字符串题的理解,个人认为scanf("%s",s);cin>>s;是最可靠的,因为输入很少提到空格数量,换行是LF还是CRLF


by konjacp @ 2020-08-07 16:55:45

@竹下的魂 竞赛里不常用吧...大家都是直接cin/scanf/getchar()快读之类的


| 下一页