请教:第一个输入n的scanf内%d后\n的作用
查看原帖
请教:第一个输入n的scanf内%d后\n的作用
702061
whytaciturn楼主2022/3/28 15:15

没加就全错了,加后过了

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    int n;
    char last,s[20],ans[20];
    scanf("%d\n",&n);
    while(n--)
    {
        int a,b,c;
        fgets(s,sizeof(s),stdin);
        if(s[0]=='a'||s[0]=='b'||s[0]=='c')
            {last=s[0];s[0]=' ';}
            sscanf(s,"%d %d",&a,&b);
            switch(last){
                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,strlen(ans));
    }
}
2022/3/28 15:15
加载中...