1、中级软件设计师下午试题-1 及答案解析(总分:120.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.说明 给出一个接收三个数 a、b、c 作为三角形边长并输出三角形的类型的程序。程序代码如下所示:结点 源代码行 A read a, b, c B type = “scalene“ C if(a = = b b = = c a = = c) D type = “isosceles“ E if (a = = b linkstring *prior, *p, *t1, *r, *q, *u; prior =s; p=s; t1 =t; if (U (1) /U) pr
2、intf ( “error/n“) ; else while p ! = NULL t1 = t1- link; else U (2) /U p = prior - link; t1 = t- link; if ( t1 ! : NULL) printf (“cannot find“); else U (3) /U r = q- link; q- link = p; while (r ! = p) u = r- link; U (4) /U q=r; r = u; U (5) /U (分数:15.00)填空项 1:_四、B试题四/B(总题数:1,分数:15.00)5.说明 将一个正整数分解质因
3、数。例如:输入 90,打印出 90=2*3*3*5。 main ( ) int n, i; printf ( “/n please input a number: /n“); scanf ( “% d“ , printf ( “%d =“ ,n); for(U (1) /U) while(U (2) /U) if(U (3) /U) printf (“%d*“,i); U(4) /U else break; printf (“%d”,n);(分数:15.00)填空项 1:_五、B试题五/B(总题数:1,分数:15.00)6.说明 编写程序,把从键盘上输入的一批整数(以-1 作为终止输入的标志)
4、保存到文本文件“a: xxk1. dat”中。 U (1) /U # include fstream. h # include stdlib. h void main ( ) U (2) /U if ( ! four) cerr “文件没有找开!” end1; exit (1); int x; cin x; while(U (3) /U) U (4) /U cin x; U(5) /U (分数:15.00)填空项 1:_六、B试题六/B(总题数:1,分数:15.00)7.说明 编写一个 Application,从键盘输入整数 n,并计算从 1到 n的累加和。 import java. io.
5、*; public class Application1 public static void main(String args) String s = “ “; int n, sum = 0; System. out. println (“计算从 1到 n 的累加和。”); System. out. print( “请输入 n的值:”); try U(1) /U BufferedReader br = new BufferedReader(isr); U(2) /U catch(Exception e) U (3) /U for(int i=l; i =n; i+) U (4) /U Sys
6、tem. out. println ( “你刚才的输入是:” + n); System. out. println ( “1 到 n的累加和是:”+ sum); (分数:15.00)填空项 1:_七、B试题七/B(总题数:1,分数:15.00)8.说明 这是一个用户名校验程序,如用户名正确,即输出欢迎字样,否则,弹出警告窗并直接退出程序。下面是实现上述功能的程序,请填空。“Option Explicit”此语句的作用:强制显示声明 Dim UserName (2) As String Dim Flag As Boolean U (1) /U Private Sub Form _ Load( )
7、 UserName (0) = “AA“: UserName (1) = “BB“: UserName(2) = “CC“ Flag = False inputName = InputBox( “请输入名称:“,”身份确认”“,”) Dim i As Integer For i = 0 To False If inputName = UserName(i) Then U(2) /U End If Next i IfU (3) /UThen MsgBox “用户身份确失败!退出应用”, vbOKOnly, “警告” End End If End Sub Private Sub Form_ Pai
8、nt( ) U(4) /U End Sub(分数:15.00)填空项 1:_中级软件设计师下午试题-1 答案解析(总分:120.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.说明 给出一个接收三个数 a、b、c 作为三角形边长并输出三角形的类型的程序。程序代码如下所示:结点 源代码行 A read a, b, c B type = “scalene“ C if(a = = b b = = c a = = c) D type = “isosceles“ E if (a = = b linkstring *prior, *p, *t1, *r, *q, *u; p
9、rior =s; p=s; t1 =t; if (U (1) /U) printf ( “error/n“) ; else while p ! = NULL t1 = t1- link; else U (2) /U p = prior - link; t1 = t- link; if ( t1 ! : NULL) printf (“cannot find“); else U (3) /U r = q- link; q- link = p; while (r ! = p) u = r- link; U (4) /U q=r; r = u; U (5) /U (分数:15.00)填空项 1:_ (
10、正确答案:(1) p=NULLt1=NULL)解析:(2) prior=prior-link (3) q=prior-link; (4) r-link=q; (5) prior-link=q; 解答要点 设 t和 s是用带头结点的单链表表示的,首先在 s串中查找首次与串 t匹配的子串,若未找到,显示相应信息并返回;否则将该子中逆置,先将子串的第一个结点链接到 p的前面,再将该子串的第二个结点链接到前面移动的第二个结点的前面,如此下去,便逆置了该于串。四、B试题四/B(总题数:1,分数:15.00)5.说明 将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。 main (
11、) int n, i; printf ( “/n please input a number: /n“); scanf ( “% d“ , printf ( “%d =“ ,n); for(U (1) /U) while(U (2) /U) if(U (3) /U) printf (“%d*“,i); U(4) /U else break; printf (“%d”,n);(分数:15.00)填空项 1:_ (正确答案:(1) i=2;i)解析:ofstream four(“ a: xxk1, dat“ );x! = -1fout X ;fout. close( );六、B试题六/B(总题数:
12、1,分数:15.00)7.说明 编写一个 Application,从键盘输入整数 n,并计算从 1到 n的累加和。 import java. io. *; public class Application1 public static void main(String args) String s = “ “; int n, sum = 0; System. out. println (“计算从 1到 n 的累加和。”); System. out. print( “请输入 n的值:”); try U(1) /U BufferedReader br = new BufferedReader(is
13、r); U(2) /U catch(Exception e) U (3) /U for(int i=l; i =n; i+) U (4) /U System. out. println ( “你刚才的输入是:” + n); System. out. println ( “1 到 n的累加和是:”+ sum); (分数:15.00)填空项 1:_ (正确答案:InputStreamReader isr = new InputStreamReader ( System. in);)解析:s = br. readLine( ); n = Integer. parseInt(s); return( “
14、姓名”:+ name + “学号:”+ id + “联系电话:” +phone) ;七、B试题七/B(总题数:1,分数:15.00)8.说明 这是一个用户名校验程序,如用户名正确,即输出欢迎字样,否则,弹出警告窗并直接退出程序。下面是实现上述功能的程序,请填空。“Option Explicit”此语句的作用:强制显示声明 Dim UserName (2) As String Dim Flag As Boolean U (1) /U Private Sub Form _ Load( ) UserName (0) = “AA“: UserName (1) = “BB“: UserName(2) =
15、 “CC“ Flag = False inputName = InputBox( “请输入名称:“,”身份确认”“,”) Dim i As Integer For i = 0 To False If inputName = UserName(i) Then U(2) /U End If Next i IfU (3) /UThen MsgBox “用户身份确失败!退出应用”, vbOKOnly, “警告” End End If End Sub Private Sub Form_ Paint( ) U(4) /U End Sub(分数:15.00)填空项 1:_ (正确答案:Dim inputName As String)解析:Flag = True Flag = False picShowMsg. Prin t “欢迎您!” + inputName