1 条题解
-
0
C :
#include <stdio.h> int main() { char s1[100] ; scanf("%s",s1) ; char s2[50] ; int a1[70] ; int length = 0, number = 0 ; for(int i=0;s1[i]!='\0';i++) { int shi = 1 ; int temp = 0 ; if(s1[i]=='*' || s1[i]=='+' || s1[i]=='-') { s2[number] = s1[i] ; s2[++number] = '\0' ; } else { for(int j=i+1;s1[j]>=48;++j) { shi *= 10 ; } for(int j=i;shi>=1;j++) { i = j ; temp += (s1[j]-48) * shi ; shi /= 10 ; } a1[length] = temp ; ++length ; } } int sum = a1[0] ; for(int i=1,j=0;i<length;i++) { switch(s2[j++]) { case '*': sum *= a1[i] ; break ; case '+': sum += a1[i] ; break ; case '-': sum -= a1[i] ; break ; } } printf("%d\n",sum) ; return 0 ; }C++ :
#include<bits/stdc++.h> using namespace std; int main(){ string s1; cin>>s1; int i,t = s1[0] - 48; for(i = 1;i < s1.length();i = i + 2) { if(s1[i] == '+'){ t = t + s1[i + 1] - 48; }else if(s1[i] == '-'){ t = t - (s1[i + 1] - 48); }else if(s1[i] == '*'){ t = t * (s1[i + 1] - 48); } } cout<<t<<endl; return 0; }Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); String s1 = "",s2 = ""; for(int i=0;i<s.length();i++){ char c = s.charAt(i); if(c >= '0' && c <= '9'){ s1 += c; }else{ s2 += c; } } int r = calc(s1.charAt(0)-48,s1.charAt(1)-48,s2.charAt(0)); for(int i=2;i<s1.length();i++){ r = calc(r,s1.charAt(i)-48,s2.charAt(i-1)); } System.out.println(r); } public static int calc(int a,int b,char f){ int r = 0; if(f == '+'){ r = a + b; }else if(f == '-'){ r = a - b; }else if(f == '*'){ r = a * b; } return r; } }Python :
a=list(input()) n=len(a) s="" m=0 for i in range(0,n-2,2): s=a[i]+a[i+1]+a[i+2] m=int(eval(s)) a[i+2]=str(m) print(a[n-1])
- 1
信息
- ID
- 117
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者