为什么它循环前要先输入一次呀。
查看原帖
为什么它循环前要先输入一次呀。
136033
an_xi楼主2021/12/20 17:43

不加个输入,输入n时就会先完成一次不明所以的循环。

#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 20
using namespace std;
int main(){
	int n,a,b,c;
	char x[maxn],y[maxn],m;
	cin>>n;
	fgets(x,sizeof(x),stdin);
	while(n--){
		fgets(x,sizeof(x),stdin);
		if(x[0]=='a'||x[0]=='b'||x[0]=='c'){
			m=x[0];
			x[0]=' ';
		}
		sscanf(x,"%d %d",&a,&b);
		switch(m){
			case'a':c=a+b;
					sprintf(y,"%d+%d=%d",a,b,c);
					break;
			case'b':c=a-b;
					sprintf(y,"%d-%d=%d",a,b,c);
					break;
			case'c':c=a*b;
					sprintf(y,"%d*%d=%d",a,b,c);
					break;
		}
		printf("%s\n",y);
		printf("%d",strlen(y));
		if(n>=1)	printf("\n");
	}
	return 0;
}
2021/12/20 17:43
加载中...