使用scanf读入n,但是程序卡在下面怎么办
查看原帖
使用scanf读入n,但是程序卡在下面怎么办
534532
AnthonyEric楼主2022/4/8 22:47
#include<bits/stdc++.h>
using namespace std;
string g;
char s[1000000];
char ans[100000];
int main(){
	int n,a,b,c,k=0;
	char las;
	scanf("%d",n);
	while(n--){
		fgets(s, sizeof(s), stdin);
		if(s[0] == 'a' || s[0] == 'b' || s[0] == 'c')
			las = s[0], s[0] = ' ';
		 sscanf(s, "%d %d", &a, &b);
		 switch(las){
		 	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));
	
		 
	}
    return 0;
}

是不是有什么奇怪的特性,还是我哪里错了,希望有高人指教

2022/4/8 22:47
加载中...