1 条题解

  • 0
    @ 2024-12-24 9:59:26

    C :

    #include <stdio.h>
    int main()
    {
    	int a,b;
    	char c;
    	int sum;
    	while(scanf("%d",&a)!=EOF)
    	{
    		sum=1;
    		scanf(" %c",&c);
    		if(c=='!')
    		{
    			for(;a>1;a--)
    				sum=sum*a;
    			printf("%d\n",sum);
    		}
    		//	continue;
    		else
    		{
    			scanf(" %d",&b);
    				if(c=='+')
    					printf("%d\n",a+b);
    				else
    					if(c=='-')
    						printf("%d\n",a-b);
    					else
    					{
    						if(b==0)
    						{
    							printf("error\n");
    							continue;
    						}
    						else
    						{
    							if(c=='*')
    								printf("%d\n",a*b);
    							else
    								if(c=='/')
    									printf("%d\n",a/b);
    								else
    									if(c=='%')
    										printf("%d\n",a%b);
    						}
    					}
    		}
    		
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h> 
    #include<stdlib.h> 
    #include<string.h>  
    int main() 
    { 
    	int i,len,sum,error,a,b; 
    	char c; 
    	while(scanf("%d ",&a) != EOF)
    		{ 
    		scanf("%c",&c); //阶乘!符号 
    		if(c == '!')
    		{ 
    			sum = 1; 
    			for(i = 1;i <= a;i++){ sum *= i; } 
    			printf("%d\n",sum); } 
    		else{ 
    			error = 0; 
    			scanf(" %d",&b); //加法 
    			if(c == '+'){ sum = a + b; } //减法 
    			else if(c == '-'){ sum = a - b; } //乘法 
    			else if(c == '*'){ sum = a * b; } //除法 
    			else if(c == '/'){ //如果出现除数为零,则输出“error” 
    				if(b == 0){ error = 1; } 
    				else{ sum = a / b; } 
    			} //取余 
    			else if(c == '%'){ //如果求余运算的第二个运算数为0,也输出“error” 
    				if(b == 0){ error = 1; } 
    				else{ sum = a % b; } 
    			} //输出结果 
    			if(error == 1){ printf("error\n"); } 
    			else{ printf("%d\n",sum); } 
    		}//else 
    	}//for 
    	return 0; 
    }
    
    • 1

    信息

    ID
    1480
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者