悠游


私信TA

用户名:uq_87643911115

访问量:6707

签 名:

你好

等  级
排  名 42
经  验 12731
参赛次数 0
文章发表 206
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

大家好!我是糕手

解题思路:

注意事项:

参考代码:

#include<stdio.h>
#include<ctype.h>
int m(char **p)//单指针*p里存储的是传过来的指针p的地址,双指针才是值
{
    int sum=0;
    while(isdigit(**p))
	{
	  sum=sum*10+(**p-'0');
	  (*p)++;
	}
	return sum;
}
int main()
{
	char a[101];
	scanf("%s",a);
	char operators[5]={'+','-','*','/','%'};
	char *p=a;
	int sum=0;
	sum+=m(&p);//传过去的是p的地址
	while(*p!='\0')
	{
	    
	    if(*p==operators[0])
	    {
	        p++;
	        sum+=m(&p);
	    }
	    else if(*p==operators[1])
	    {
	        p++;
	        sum-=m(&p);
	    }
	    else if(*p==operators[2])
	    {
	        p++;
	        sum*=m(&p);
	    }
	    
	    else if(*p==operators[3])
	    {
	        p++;
	        sum/=m(&p);
	    }
	    else if(*p==operators[4])
	    {
	        p++;
	        sum%=m(&p);
	    }
	    else
	    {
	        printf("Error");
	        return 0;
	    }
	}
	printf("%d",sum);
	return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »