软件水平考试(初级)程序员下午(应用技术)模拟试卷27

0
收藏   分享
  • 卷面总分:75分
  • 试卷类型:模拟考试
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:7次
  • 作答时间:150分钟
试卷简介
试卷预览
1

阅读以下说明和Java代码,将应填入(n)处的语句写在对应栏内。

 【说明】

 进行两个整数之间的比较,由考生通过输入窗口分别输入两个整数,程序比较出结果。例如:先后输入的两个数分别为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个字符串

       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);

   }

 }

1

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

  【说明】

 字符串在程序设计中扮演着重要角色。现需要设计字符串基类string,包含设置字 符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类edlt_string,派生于string,在其中设置一个光标,使其能支持在光标处的插入、删除操作。

 【程序】

 #include <iostream.h>

 #include <stdio.h>

 #include <string.h>

 class string

 {

   int length;

   char *data;

 public:

   int get_length() {return length;}

   char *get_data() {return data;}

   ~string() {delete data;}

   int set data(int in_length, char *in_data);

   int set_data(char *data);

   void print() {cout<<data<<endl;}

 };

 class edit_string: public string

 {

   int cursor;

 public:

   int get_cursor() {return cursor;}

   void move_cursor(int dis) {cursor=dis;}

   int add_data(string *new_data);

   void delete_data(int num);

 };

 int string::set_data(int in_length,char *in_data)

 {

   length=in_length;

   if(!data)

     delete data;

    (1) 

   strcpy(data,in_data);

   return length;

 }

 int string::set data(char *in_data)

 {

    (2) 

   if(!data)

      delete data;

    (1) 

   strcpy(data,in_data);

   return length;

 }

 int edit_string::add_data(string *new_data)

 {

   int n,k,m;

   char *cp,*pt;

   n=new_data->get_length();

   pt=new_data->get_data();

   cp=this->get_data();

   m=this->get_length();

   char *news=new char[n+m+1];

   for(int i=0; i<cursor; i++)

      news[i]=cp[i];

   k=i;

   for(int j=0; j<n; i++,j++)

      news[i]=pt[j];

   cursor=i;

   for(j=k; j<m; j++,i++)

      (3) 

   news[i]='\0';

    (4) 

   delete news;

   return cursor;

 }

 void edit string::delete_data( int num)

 {

   int m;

   char *cp;

   cp=this->get_data();

   m=this->get_length();

   for(int i=cursor; i<m; i++)

      (5)

  cp[i]='\0';

 }

1

阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。

  【说明】

 设有3n+2个球互连,将自然数1~3n+2分别为这些球编号,使相连的两球编号之差的绝对值正好是数列1,2,…,3n+1中的各数,如下图所示:

 

 其中填自然数的思想如下;

 (1)先自左向右,第1列中间1个填数,然后第2列上、下2个填数,每次2列;但若n为偶数,最后1次只排第1列中间一个数。

 (2)自右向左,先右第1列中间填数;若n是奇数,再右第2列中间填数。然后依次右第1列上、下2个填数,再右第2列中间1个填数,直到左第2列为止。

 【程序】

 #include <stdio.h>

 #define size 10

 int a[3][size];

 void main()

 {

   int i,k,m,n;

   printf("imput the n:");

   scanf("%d",&n);

   k=1;

   for(i=0; i<=n/2; i++)

   {

     a[1][2*i]=k; k++;

     if((i==n/2)&& (1) ||(i<n/2))

     {

         a[0][2*i+1]=k;

         k++;

          (2) 

         k++;

     }

   }

   if(n%2==1)

   {

      (3) 

      k++;

      m=n;

   }

   else

      (4) 

   for(i=0; i<n/2; i++)

   {

     a[1][m-2*i]=k; k++;

      (5) 

     k++;

     a[2][m-2*i-1]=k; k++;

   }

   a[1][1]=k;

   printf("\n");

     printf(" ");

   for(i=1; i<=n; i++)

      printf("%6d",a[0][i]);

   printf("\n\n");

      for(i=0; i<=n+1; i++)

        printf("%6d",a[1][i]);

   printf("\n\n");

   printf("  ");

   for(i=1; i<=n; i++)

      printf("%6d",a[2][i]);

   printf("\n");

 }