这题对c语言一点也不友好QAQ,c语言有没有把字符串直接转换成整数的方法
查看原帖
这题对c语言一点也不友好QAQ,c语言有没有把字符串直接转换成整数的方法
790685
bluetored楼主2022/10/5 20:25

就过了两个点

#include <stdio.h>
#include <string.h>
int len (int n)
{
	int cnt=0;
	do
	{
		n/=10;
		cnt++;
	}
	while (n!=0);
	return cnt;
}
int main ()
{
	char cal[100];
	int n;
	int a,b,res;
	char p[51];
	char s;
	scanf ("%d",&n);
	for (int i=1;i<=n;i++)
	{
	 scanf ("%s",p);
	 if(p[0]<='z'&&p[0]>='a')
	 {
	 	s=p[0];
	 	scanf ("%d %d",&a,&b);
	 	if (s=='a'){
	 		res =a+b;
	 		printf ("%d+%d=%d\n",a,b,res);
	 		printf ("%d\n",len(a)+len(b)+len(res)+2);
	 }
	    if (s=='b'){
	 		res =a-b;
	 		printf ("%d-%d=%d\n",a,b,res);
	 		printf ("%d\n",len(a)+len(b)+len(res)+2);
	 }
	 	if (s=='c'){
	 		res =a*b;
	 		printf ("%d*%d=%d\n",a,b,res);
	 		printf ("%d\n",len(a)+len(b)+len(res)+2);
	 }
	}
	else {
		a=0;
		for (int i=0;i<strlen(p);i++)
	{
		a=a*10+p[i]-'0';	
	}
	scanf ("%d",&b);
	if (s=='a'){
	 		res =a+b;
	 		printf ("%d+%d=%d\n",a,b,res);
	 		printf ("%d\n",len(a)+len(b)+len(res)+2);
	 }
	    if (s=='b'){
	 		res =a-b;
	 		printf ("%d-%d=%d\n",a,b,res);
	 		printf ("%d\n",len(a)+len(b)+len(res)+2);
	 }
	 	if (s=='c'){
	 		res =a*b;
	 		printf ("%d*%d=%d\n",a,b,res);
	 		printf ("%d\n",len(a)+len(b)+len(res)+2);
	 }
	}
} 
return 0;
}
2022/10/5 20:25
加载中...