阅读以下说明和代码,填写程序中的空(1)-(5),将解答写入答题细的对应栏内。【说明】下面程序运行时,对输入的表达式进行计算并输出计算结果。设表达式由两个整数和一个运算符(+或-)构成,整数和运算符之间以空格分隔,运算符可以出现在两个整数之前、之间或之后,整数不超过4位,输入的两个整教和运算符都用字符串表示 例如,输入分别为 “25+7”、“+257”、“257+”时,输出均为“25+7=32”。【C 代码】#include Int strain (char*s); //将数字字符串转换为整数 Int isOperator(char*str); //判断字符串的开头字符是否为运算符 void cal (char op, char a[ ], charb[ ]); //将数字串转化为对应证书后进行所要求的计算 int main ( ) { char a[ 10] ,b[10 ],c[10]; scanf ("%s%s%s, a, b, c); //输入数据的有效性检测略,下面假设输入数据有效、正确 Solve(a, b, c); Retune ( ) } int strain (char*s);{ Int val=0 while(*s) val= (1)+(*s-’0’); ∥将数字字符串转换为十进制整数 (2) //令字符指针指向下一个数字字符 } Return val; } int isoperator(char* str) { return (*str==’+’II*str==’-’): }Void cal ( char op,char a [ ],char b[ ]){switch(op) { case ‘+’: printf("%s+%s=%d", a, b, straint(a)+straint(b)); break. case ‘-’: printf("%s-%s=%d", a, b, strain(a)-straint(b)); Break; }}void solve(char a[ ], char b[ ], char c [ ]){//解析输入的3 个字符串,输出表达式及计算结果 if (seperator(a)){ ∥运算符在两个整数之前 ca(( 3 ); } else if(opErator(b)){ ∥运算符在两个整数之间 ca(( 4 ); else { ∥运算符在两个整数之后 ca(( 5 );}}

阅读以下说明和代码,填写程序中的空(1)-(5),将解答写入答题细的对应栏内。【说明】下面程序运行时,对输入的表达式进行计算并输出计算结果。设表达式由两个整数和一个运算符(+或-)构成,整数和运算符之间以空格分隔,运算符可以出现在两个整数之前、之间或之后,整数不超过4位,输入的两个整教和运算符都用字符串表示 例如,输入分别为 “25+7”、“+257”、“257+”时,输出均为“25+7=32”。【C 代码】

#include Int strain (char*s); //将数字字符串转换为整数 Int isOperator(char*str); //判断字符串的开头字符是否为运算符 void cal (char op, char a[ ], charb[ ]); //将数字串转化为对应证书后进行所要求的计算 int main ( ) { char a[ 10] ,b[10 ],c[10]; scanf ("%s%s%s, a, b, c); //输入数据的有效性检测略,下面假设输入数据有效、正确 Solve(a, b, c); Retune ( ) } int strain (char*s);{ Int val=0 while(*s) val= (1)+(*s-’0’); ∥将数字字符串转换为十进制整数 (2) //令字符指针指向下一个数字字符 } Return val; } int isoperator(char* str) { return (*str==’+’II*str==’-’): }Void cal ( char op,char a [ ],char b[ ]){switch(op) { case ‘+’: printf("%s+%s=%d", a, b, straint(a)+straint(b)); break. case ‘-’: printf("%s-%s=%d", a, b, strain(a)-straint(b)); Break; }}void solve(char a[ ], char b[ ], char c [ ]){//解析输入的3 个字符串,输出表达式及计算结果 if (seperator(a)){ ∥运算符在两个整数之前 ca(( 3 ); } else if(opErator(b)){ ∥运算符在两个整数之间 ca(( 4 ); else { ∥运算符在两个整数之后 ca(( 5 );}}


参考解析

解析:(1)val*10(2)S++(3)*a,b,c(4)*b,a,c(5)*c,a,b
【解析】

1、2 空将数字字符申进行全部转化为数字,例如“1234”转化为数字1234,分别用指针s 依次取字符,val将数字保留,之前是’1’,val=1;然后s=’2’,val=12,然后s=’3’,Val=123,然后s=’4’,Val=1234,因此val=val*10+*S-’0’。每次循环后s 向后移动一个。3、4、5 考查的都是函数调用的问题,首先判断运算符的位置,用 isOperator 来进行判定,如果字符串a 就是运算符,那么操作数就是b和c,调用cal函数进行计算。实参传递的时候,第一个参数要传递字符,后面两个参数传递字符数组或者字符指针,(3)填写的是*a,b,C,依次类推,(4)答案是*b,a,C,(5) 的答家是*c,a,b。

相关考题:

以下关于逻辑运算符两侧运算对象的叙述中正确的是A) 只能是整数 0 或 1B) 只能是整数 0 或非 0 整数C) 可以是结构体类型的数据D) 可以是任意合法的表达式

在Shell中test命令有整数运算符、字符串运算符、____、逻辑运算符四类运算符。

在Shell中test命令有整数运算符、字符串运算符、文件运算符、____四类运算符。

在Shell中test命令有整数运算符、字符串运算符、文本运算符、逻辑运算符四类运算符。() 此题为判断题(对,错)。

下列关于C++程序中使用提取符和插入符的输入/输出语句的描述中,错误的是()。A.提取符是对右移运算符(>>)重载得到的B.插入符是对左移运算符(C.提取符和插入符都是双目运算符,它们要求有两个操作数D.提取符和插入符在输入/输出语句中不可以连用

以下关于逻辑运算符两侧运算对象的叙述中正确的是______。A.只能是整数0或1B.只能是整数0或非0整数C.可以是结构体类型的数据D.可以是任意合法的表达式

下列程序执行时,从键盘上依次输入123和234,则程序的输出结果是【 】。Dim a,b As Integera=InputBox("请输入第一个整数")b=InputBox("请输入第二整数")Print a+b

下列程序执行时,从键盘上依次输入123和234,则程序的输出结果是【 】。a=InputBox("请输入第一个整数")b=InputBox("请输入第二整数")Print a+b

在VBScript中,下列说法正确的是()。 A.没有计算数的指数次方的运算符,但可以通过*运算符实现B.运算符可以强制将任意两个表达式进行字符串链接C.表达式16/5的结果是1D.以上都正确

试题二(共15分)阅读以下说明和C程序代码,将解答写在答题纸的对应栏内。【说明】下面是一个待修改的C程序,其应该完成的功能是:对于输入的一个整数num,计算其位数k,然后将其各位数字按逆序转换为字符串保存并输出。若num为负整数,则输出字符串应有前缀“-”。例如,将该程序修改正确后,运行时若输入“14251”,则输出“15241”;若输入“-6319870”,则输出“-0789136”。下面给出的C程序代码中有五处错误,请指出错误代码所在的行号并给出修改正确后的完整代码行。【C程序代码】

阅读以下说明和Java代码,将应填入(n)处的语句写在对应栏内。【说明】进行两个整数之间的比较,由考生通过输入窗口分别输入两个整数,程序比较出结果。例如:先后输入的两个数分别为25和36。比较结果显示:25!=3625<3625<=36【Java代码】import javax.swing.JOptionPane;public class Java3{public static void main(String args[]){String (1) // 用户输入第1个字符串secondNumber, // 用户输入第2个字符串result; // 包含输出int number1, // 比较的第1个数number2; // 比较的第2个数// 用户输入的第1个字符串firstNumber =JOptionPane. (2) ("Enter first integer:");//读用户输入的第2个字符串secondNumber =JOptionPane.showlnputDialog("Enter second integer:");将字符串类型转换成整数类型number1= Integer. (3) (firstNumber);number2= Integer.parselnt(secondNumber);result= "":if ((4))result=number1+"=="+number2;if (number1 != number2)result=number1+"!="+number2;if (number1<number2)result=result+"\n"+number1+"<"+ number2;if (number1>number2)result=result+"\n"+number1+">"+number2;if (number1<=number2)result=result+"\n"+number1+"<="+number2;if (numbed>=number2)result=result+"\n"+number1+">="+number2;//显示结果JOptionPane.(5).(null, result, "Comparison Results",JOptionPane. INFORMATION_MESSAGE);//程序正常退出System.exit(0);}}

有以下程序 程序运行时,输入的值在哪个范围才会有输出结果( )。A.大于3且不等于l0的整数 有以下程序程序运行时,输入的值在哪个范围才会有输出结果( )。A.大于3且不等于l0的整数B.不等于10的整数C.大于3或等于l0的整数D.小于3的整数

程序Cmody031.c的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行相应的运算后输出运算的结果。请改正错程序中的错误。如输入:1+2将输出:1+2=3

有以下程序:程序运行时,输入的值在哪个范围才会有输出结果( )。A.小于3的整数B.不等于10的整数C.大于3或等于10的整数D.大于3且不等10的整数

下列关于逻辑运算符两侧运算对象的叙述中正确的是( )。A.只能是整数0或1B.只能是整数0或非0整数C.可以是结构体类型的数据D.可以是任意合法的表达式

有以下程序:程序运行时,输入的值在哪个范围才会有输出结果( )A)不等于5的整数B)大于0且不等5的整数C)大于0或等于5的整数D)小于5的整数

试题二 ( 共15 分)阅读以下问题说明、C 程序和函数,将解答填入答题纸的对应栏内。【 问题1 】分析下面的C 程序,指出错误代码(或运行异常代码)所在的行号。【C程序】【 问题2】函数inputArr(int a[], int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组 a,并返回实际输入的整数个数。函数 inputArr 可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。【C 函数】

阅读以下说明和C语言函数,将解答填入对应栏内。【说明】下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“14251382”,则输出的整数为“4532”。下面给出的C程序代码中有五个错误,请指出所有的错误。【C程序代码】01 include <stdio.h>0203 int main()04 {05 long n, num;06 int i;0708 do {09 printf("请输入一个正整数:");10 scanf("%ld", n);11 }while(n <= 0);12 k = 1;13 for (i = 1; n >= 0; i++) {14 if (i % 2 = 1) {15 num= num+ (n % 10) * k;16 k = k * 10;17 }18 n = n / 10;19 }20 printf("新数据为: %d \n",num);21 return 0;22 }

阅读以下两个说明、c函数和问题,将解答写入答题纸的对应栏内。【说明1】函数main()的功能旨在对输入的一个正整数n,计算12+22+32+…+n2,但是对该函数进行测试后没有得到期望的结果。【c函数】1.输入5测试上述main函数时,显示结果如下所示。input an integer:5result:-5825989092.将行号为7的代码修改为:prinff(”n=%d\nresuh:%d\n”,n,sum);并再次输入5测试main函数,显示结果如下所示。input an interger:5n=2293632result:-582598909阅读以上两个说明、c函数和问题,将解答写入答题纸的对应栏内。【问题1】请给出上述main函数中需要修改的代码行号,并给出修改后的整行代码。【说明2】函数test_f2{}编译时系统报告有错,修改后得到函数12_B{}。对函数12_B{}进行编译时顺利通过,在某些C系统中执行时却由于发生异常而不能正确结束。【c函数2】【问题2】(1)请指出函数test_f2中不能通过编译的表达式;(2)请指出可能导致函数f2_B运行异常的表达式。

阅读以下Java代码,填充(1)~(5)的空缺,将解答填入答题纸的对应栏内。 【说明】进行两个整数之间的比较,由考生通过输入窗口分别输入两个整数,程序比较出结果。例如:先后输入的两个数分别为25和36。 比较结果显示: 25!=36 25<36 25<=36 【Java代码】 import javax.swing.JOptionPane; public class Java3 { public static void main(String args[]) { String (1) //用户输入第1个字符串 secondNuimber, //用户输入第2个字符串 result; //包含输出结果的字符串 int number1, //比较的第1个数 number2; //比较的第2个数 //读用户输入的第1个字符串 firstNumber= JOptionPane(2)("Enter first integer:"); //读用户输入的第2个字符串 secondNumber= JOpttionPane.showlnputDialog("Enter second integer:"); //将字符串类型转换成整数类型 number1=Integer.(3)(firstNumber); number2=Integer.parselnt(secondNumber); result=""; if((4)) result=number1+"=="+number2; if(number1!=number2) result=number1+"!=”"+number2; if(number1<number2) result=result+"\n"+number1+"<"+number2; if(numbe1>number2) result=result+"\n"+number1+">"+number2; if(number1<=number2) result=result+"\n"+number1+"<="+number2; if(number1>=number2) result=result+"\n"+number1+">="+number2; //显示结果 JOptionPane.(5)( null,result,"Comparison Results", JOptionPane.INFORMATION_MESSAGE.; //程序正常退出 System.exit(0); }}

阅读以下问题说明、C 程序和函数,将解答填入答题纸的对应栏内。【问题 1】分析下面的C 程序,指出错误代码(或运行异常代码)所在的行号。 【C 程序】【问题 2】函数inputArr(int a[], int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组 a,并返回实际输入的整数个数。函数 inputArr 可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。【C 函数】

在C程序中,%是只能用于整数运算的运算符

请使用异或运算符^,实现两个整数的交换。

从键盘上输入两个有符号字整数A和B,计算并输出它们的和、差、积、商和余数。

问答题从键盘上输入两个有符号字整数A和B,计算并输出它们的和、差、积、商和余数。

问答题请使用异或运算符^,实现两个整数的交换。

单选题VBSCript中,下列说法正确的是()A没有计算数的指数次方的运算符,但可以通过*运算符实现。B运算符可以强制将任意两个表达式进行字符串链接。C表达式16/5的结果是1。D以上都正确