2019上半年程序员应用技术题四

程序员 责任编辑:胡媛 2020-09-15

添加老师微信

备考咨询

加我微信

摘要:不少考生在备考软考初级程序员考试,希赛小编为大家整理了2019上半年程序员下午应用技术题四,希望对在备考软考初级程序员考试的考生会有所帮助。

程序员应用技术在下午考试,希赛小编为大家整理了2019上半年程序员应用技术题四,供考生备考练习。

阅读以下说明和C代码,填写程序中的空(1) ~ (5),将解答写入答题纸的对应栏内。

【说明】

下面程序运行时,对输入的表达式进行计算并输出计算结果。设表达式由两个整数和一个运算符(+或-)构成,整数和运算符之间以空格分隔,运算符可以出现在两个整 数之前、之间或之后,整数不超过4位,输入的两个整数和运算符都用字符串表示。

例如,输入分别为“25+7”、“+25 7”、“25 7+”时,输出均为“25 + 7 = 32”。

问题内容:

【C代码】

#include<stdio.h>

int str2int(char *s);                                                         //将数字字符串转换为整数

int isOperator(char *str);                                              //判断字符串的开头字符是否为运算符

void cal(char op, char a[ ], charb[ ]);                            //将数字串转化为对应整数后进行op所要求的计算

void solve(char a[ ],char b[ ],char c[ ]);

int main ()

{

char a[10],b[10], c[10];

scanf(’’%s%s%s’’,a,b,c);

//输入数据的有效性检测略,下面假设输入数据有效、正确

Solve(a,b,c);

Return0;

}

int str2int(char *s)

{

int val = 0;

while (*s) {

val =     (1)    + (*s - '0');                               //将数字字符串转换为十进制整数

(2)      ;                                                         //令字符指针指向下一个数字字符

}

return val;

}

int isOperator(char *str)

{

return (*str ==‘+’|| *str ==‘-’);

}

void cal( char op, char a[ ], char b[])

{

switch(op) {

case ‘+’:

printf(” %s + %s = %d”,a,b,str2int(a)+str2int(b));

break;

case‘-’

printf("%s - %s = %d ” ,a,b,str2int(a)-str2int(b));

break;

}

}

void solve(char a[ ],char b[ ],char c[ ])

{//解析输入的3个字符串,输出表达式及计算结果

if (isOperator(a)) {                       //运算符在两个整数之前

cal(       (3)     );

}

else if(isOperator(b)) {                //运算符在两个整数之间

cal(     (4)       );

}

else {                                             //运算符在两个整数之后

cal(     (5)      )

}

}

试题练习:历年真题每日一练  |  在线试题库

备考资料:视频课程学习资料  |  免费课程

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取