本地测试和样例一样,但全WA,大佬求救!
查看原帖
本地测试和样例一样,但全WA,大佬求救!
757040
MuLinnnnn楼主2022/11/4 19:03
#include <iostream>
#include <cstring>
using namespace std;
char chch[1],eql[1]= {'='};
char brr[55][25];

int main() {
	int n,cnt1=0,cnt2=0,q=0,w=0,num1=0,num2=0,ans=0;
	char num[13],ch='\0',n1[6],n2[6];
	char num1ch[6],num2ch[6],ansch[10];
	char arr[25];
	scanf("%d",&n);
	getchar();
	for(int i=0; i<n; i++) {
		cin.get(num,13);
		getchar();
		cnt1=0;
		cnt2=0;
		memset(n1,'\0',sizeof(n1));
		memset(n2,'\0',sizeof(n2));
		if(num[0]>='a' && num[0]<='z') {
			ch = num[0];
			for(q=2;; q++) {
				if(isspace(num[q])) {
					for(int k=2; k<q; k++) {
						n1[cnt1] = num[k];
						cnt1++;
					}
					break;
				}
			}
			for(int j=q+1; j < int(strlen(num)); j++) {
				n2[cnt2] = num[j];
				cnt2++;
			}
		} else {
			for(w=0;; w++) {
				if(isspace(num[w])) {
					for(int k=0; k<w; k++) {
						n1[cnt1] = num[k];
						cnt1++;
					}
					break;
				}
			}
			for(int j=w+1; j < int(strlen(num)); j++) {
				n2[cnt2] = num[j];
				cnt2++;
			}
		}
		num1 = atoi(n1);
		num2 = atoi(n2);
		if(ch == 'a') {
			chch[0] = '+';
			ans = num1 + num2;
		} else if(ch == 'b') {
			chch[0] = '-';
			ans = num1 - num2;
		} else {
			chch[0] = '*';
			ans = num1 * num2;
		}
		sprintf(num1ch,"%d",num1);
		sprintf(num2ch,"%d",num2);
		sprintf(ansch,"%d",ans);
		strcpy(arr,num1ch);
		strcat(arr,chch);
		strcat(arr,num2ch);
		strcat(arr,eql);
		strcat(arr,ansch);
		for(int j=0; j < int(strlen(arr)); j++) {
			brr[i][j]=arr[j];
		}
	}
	for(int i=0; i<n; i++) {
		for(int j=0; j < int(strlen(brr[i])); j++) {
			cout << brr[i][j];
		}
		cout << "\n" << strlen(brr[i]);
		if(i!=n-1){
			cout << "\n";
		}
	}
	return 0;
}

2022/11/4 19:03
加载中...