解题思路:

注意事项:

参考代码:

import java.util.Scanner;


public class Demo1073 {

static int num = 0;


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

while(sc.hasNext()){

String str = sc.next();

if(str.equals("EOF")||str.equals("-1")){

break;

}

function(str);


}

sc.close();

System.out.println(num);


}

public static void function(String str){

int num1 = -1,num2 = -1,num3 = -1,num4 = -1;

num1 = str.indexOf('+');

num2 = str.indexOf('-');

num3 = str.indexOf('=');

num4 = str.indexOf('?');

if(num4!=-1){

return;

}

if(num1==-1){

function1(num2,num3,str);

}else{

function1(num1,num3,str);

}

}

public static void function1(int num12,int num3,String str){

int a = 0,b = 0,c =0 ;

char c1 = str.charAt(num12);

for(int i =0; i<str.length(); i++){

if(i<num12){

a = a + function2(str.charAt(i));

a = a*10;

}

if(i>num12&&i<num3){

b = b + function2(str.charAt(i));

b = b*10;

}

if(i>num3){

c = c + function2(str.charAt(i));

c = c*10;

}

}

if(c1=='+'){

if((a+b)==c){

num++;

}else{

}

}else{

if((a-b)==c){

num++;

}else{

}

}

}

//获得对应位上的数字

public static int function2(char c){

int a = 0 ;

switch(c){

case '1':a = 1;

break;

case '2':a = 2;

break;

case '3':a = 3;

break;

case '4':a = 4;

break;

case '5':a = 5;

break;

case '6':a = 6;

break;

case '7':a = 7;

break;

case '8':a = 8;

break;

case '9':a = 9;

break;

case '0':a = 0;

break;

}

return a;

}

}

点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论