一、請(qǐng)你就C/C++或者JAVA代碼行數(shù)、注釋行數(shù)統(tǒng)計(jì)工具的實(shí)現(xiàn),描" />

亚洲一区爱区精品无码_无码熟妇人妻AV_日本免费一区二区三区最新_国产AV寂寞骚妇

金山軟件軟件工程筆試題 軟件工程考試題

時(shí)間:2022-05-29 17:13:00 試題

  下面是范文網(wǎng)小編整理的金山軟件軟件工程筆試題 軟件工程考試題,供大家閱讀。

金山軟件軟件工程筆試題 軟件工程考試題

金山軟件軟件工程筆試題

  一、請(qǐng)你就C/C++或者JAVA代碼行數(shù)、注釋行數(shù)統(tǒng)計(jì)工具的實(shí)現(xiàn),描述一下:

  1、 需要考慮哪些過(guò)濾條件?你如何處理?

  答:過(guò)濾條件:(取得每行并去掉兩頭的空格后)

  ⑴空行,行的長(zhǎng)度為0;⑵如果是以//開(kāi)頭,為注釋行;⑶//在行中,并判斷不是在字符串中,即“”中,為代碼+注釋混合行,//在“”中時(shí)為代碼行;⑷如果/*在行中,判斷是否是在“”內(nèi),否則為注釋行,*/不在“”中時(shí)是結(jié)束 ;⑸/* */只在一行,判斷行中是否有代碼,無(wú)代碼為注釋行,有代碼是混合行;⑹/* */多行,并且/*前無(wú)代碼,/*后無(wú)代碼,去掉其中空行都是注釋行;⑺/* */多行,/*在代碼后,或*/后有代碼,有混合行;⑻一行中有2個(gè)/*并且就1個(gè)*/,此行為混合行,其后是注釋行,

金山軟件軟件工程筆試題

  2、 怎樣提升這個(gè)工具的易用性?

  答:把這個(gè)工具設(shè)置成圖形界面,用戶(hù)只需輸入文件名或者在文件對(duì)話框中選擇文件即可點(diǎn)擊運(yùn)行輸出結(jié)果。

  本題只需要提供思路文檔,不需要程序代碼。

  二、給定一個(gè)自然數(shù)n,試完成如下程序,它輸出不大于n的所有素?cái)?shù)(質(zhì)數(shù))。

  1、 請(qǐng)?zhí)峁┏绦虼a,以及思路文檔。

  答:思路:求出一個(gè)數(shù)j的平方根sqrt(j),將j除以2~sqrt(j)之間的數(shù),只要除盡一次,就不是素?cái)?shù),之后數(shù)j加2。

  #include

  #include

  void main()

  { int N=1000;

  int i,j,k,m=0;

  for(j=1;j

  { k=(int)sqrt(j); /*求平方根*/

  for(i=2;i<=k;i++)

  { if(j%i==0) /*只要除盡一次,就不是素?cái)?shù)*/

  break;

  }

  if(i>k) /*/除到k一直沒(méi)除盡,是素?cái)?shù)*/

  printf(“%d “,j);

  }

  }

  3、 請(qǐng)分析一下可以從哪些角度可優(yōu)化該程序的時(shí)間性能?

  答:偶數(shù)(除了2)不能為素?cái)?shù);判斷一個(gè)數(shù)j是否為素?cái)?shù),只要將其除以2 ~ sqrt(j)之間的素?cái)?shù),更進(jìn)一步,沒(méi)有必要對(duì)所有奇數(shù)進(jìn)行試除,只需對(duì)所有sqrt(j)以?xún)?nèi)的所有質(zhì)數(shù)試除就可以了。

  三、高精度乘法

  用戶(hù)輸入兩個(gè)不大于 256 位的正整數(shù),由程序進(jìn)行乘法運(yùn)算,并顯示運(yùn)算過(guò)程與結(jié)果。例:

  輸入:12, 32

  輸出:

  12

  × 32

  ————————

  24

  36

  ————————

  384

  #include

  #include

  #include

  #define max 256

  int A[max],B[max];

  int Alen,Blen;

  int S[max *2];

  void InputAB() //輸入A B

  { int c;

  while (!isdigit(c = getchar())) ;

  Alen=1;

  A[0]= c – ’0′;

  while (isdigit(c = getchar()))

  A[Alen++] = c – ’0′;

  while (!isdigit(c = getchar())) ;

  Blen = 1;

  B[0] = c – ’0′;

  while (isdigit(c = getchar()))

  B[Blen++] = c – ’0′;

  }

  void Print(int Array[], int len) //輸出數(shù)組

  { int i=0;

  while ((i

  i++;

  if (i == len)

  { printf(“0 \n”);

  return;

  }

  for ( ;i < len; i++)

  printf(“%d”,Array[i]);

  printf(“\n”);

  }

  void Mul(int Array[], int len, int n, int Result[], int zeros) //相乘

  { int i;

  for (i = len – 1; i >= 0; i–)

  Result[i+1] = Array[i]*n;

  Result[0] = 0;

  for (i = len; i > 0; i–)

  { if (Result[i] >= 10) //大于10的進(jìn)位

  { Result[i-1] +=Result[i] / 10;

  Result[i] %= 10;

  }

  }

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

  Result[len+i] = 0;

  }

  void Add(int total[], int tlen, const int add[], int alen) //各行相加

  { int i,k = tlen;

  while ((tlen > 0) && (alen > 0)) //相加

  { tlen–;

  alen–;

  total[tlen] += add[alen];

  }

  for (i = k – 1; i>=0; i–)

  if (total[i] >= 10) //大于10的進(jìn)位

  { total[i - 1] += total[i] / 10;

  total[i] %= 10;

  }

  }

  void main()

  { int i,j;

  int temp[max*2];

  InputAB();

  Print(A,Alen);

  printf(“*”);

  Print(B,Blen);

  printf(“—–\n”);

  for(i = Blen-1; i >= 0; i–)

  { for(j=Blen-i,j>=0;j–) //輸出空格

  { printf(“ ”);

  }

  Mul(A, Alen, B[i], temp, Blen – 1 -i);//B中的一個(gè)數(shù)與A的所有數(shù)相乘

  Print(temp, Alen + 1); //輸出相乘過(guò)程中的每行

  Add(S, max*2, temp, Alen + Blen – i);//每行相加

  }

  printf(“—–\n”);

  Print(S, max*2);

  }

  }四、輸入一個(gè)N進(jìn)制數(shù),將其轉(zhuǎn)換成 M 進(jìn)制數(shù)(1

  #include

  #include

  #include

  #include

  #include

  using namespace std;

  int main()

  {

  char digit[16] = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F};

  cout <<”輸入待轉(zhuǎn)換整數(shù): “;

  char c;

  char a[80];

  char b[80];

  int i=0,j=0,length;

  while ((c = getchar())!=’\n’) //輸入

  {a[i]=c;

  i++;

  }

  length=i; //輸入的數(shù)的位數(shù) 0~i-1

  for(j=0;j

  { if( a[j]>=’0′&&a[j]<=’9′ )

  b[j] = a[j] – ’0′;

  else if( a[j]>=’a'&&a[j]<=’f’ )

  b[j] = a[j] -’a’ +10;

  else if( a[j]>=’A'&&a[j]<=’F’ )

  b[j] = a[j] -’A’ +10;

  else

  return FALSE;

  }

  cout<<”輸入的'數(shù)是多少進(jìn)制N:”;

  int n

  cin>>n;

  assert((n>1)&&(n<=16));

  int num=0;

  for(i=0,j=length-1;j>=0;j–,i++)//輸入的數(shù)轉(zhuǎn)成十進(jìn)制

  {num+=b[i]*pow(n,j);

  }

  cout <<”轉(zhuǎn)換成進(jìn)制數(shù)M: “;

  int m;

  cin >>m;

  cout <

  assert((m>1)&&(m<=16));

  stack stk;

  char remain;

  while (num!=0)//轉(zhuǎn)成M進(jìn)制

  {

  remain = digit[num%m];

  stk.push(remain);

  num/= m;

  }

  cout <<”結(jié)果: “;//輸出結(jié)果

  while(!stk.empty())

  {

  cout <

  stk.pop();

  }

  cout <

  return 0;

  }

  五、選答題(以下任選一題):

  1、構(gòu)建一個(gè)應(yīng)用程序,它可以顯示剪貼板上所有可用的格式,并且將常規(guī)格式(如文本、圖形)顯示出來(lái),

資料共享平臺(tái)

《金山軟件軟件工程筆試題》(

  2、構(gòu)建一個(gè)應(yīng)用程序,它用于顯示一幅透明位圖。即,給定一個(gè)背景圖、一個(gè)待顯示位圖和一個(gè)對(duì)應(yīng)于該位圖的屏蔽(mask)圖,將位圖未屏蔽部分顯示在背景圖上。

  3、構(gòu)造一個(gè)服務(wù)端程序和一個(gè)客戶(hù)端程序。它用于通過(guò)網(wǎng)絡(luò)將文件從服務(wù)端傳送到客戶(hù)機(jī)(類(lèi)似FTP)?;蛘咧苯邮且粋€(gè)FTP客戶(hù)端程序也可,不能使用FTP控件。

  4、構(gòu)造一個(gè)應(yīng)用程序,它定時(shí)獲取CPU利用率,并且以折線圖的方式動(dòng)態(tài)顯示出來(lái)。

  5、利用UDP把一個(gè)文件從一臺(tái)機(jī)器傳送到另一臺(tái)機(jī)器。

  6、在某文件中查找指定的單詞,把所有包含此單詞的文本行打印出來(lái),并對(duì)找到的單詞作著重顯示(如下劃線或其他顯示方式)的處理。

  6:

  #include

  #include

  #include

  #include

  #include

  #include

  using namespace std;

  int word_find(const char t[], int m, const char s[], int n ,vector& colpos)

  //查找單詞,char t[]為單詞,m單詞長(zhǎng)度,char s[]為行,n行的長(zhǎng)度,colpos記錄找到單詞所在的位置

  { int i=0,j=0,cnt=0;

  while(j

  { if(i >= m)

  { if(!isalpha(s[j])&&!isalpha(s[j-m-1]))//字符串前后不是字母時(shí)是單詞

  { colpos[cnt++] = j – m ;//單詞的第一個(gè)字符所在的行下標(biāo)

  i=0; //單詞串下標(biāo)重置為0

  if(cnt == colpos.size())

  colpos.resize(cnt * 2);//長(zhǎng)度重設(shè)為原來(lái)2倍

  }

  else { i=0; }

  }

  else if (s[j]==t[i])

  { ++i;++j; }

  else

  { j=j-i+1; i=0; } //下標(biāo)后退重新開(kāi)始匹配

  }

  return cnt;//返回查到的個(gè)數(shù)

  }

  int count_string(string source, string target, vector& colpos)

  { int find_cnt = 0;

  find_cnt = word_find(target.c_str(), target.size(), source.c_str(),source.size(),colpos);

  return find_cnt;//返回查到的個(gè)數(shù)

  }

  int main()

  {

  string file_name, line;

  vector lines;

  lines.resize(10);

  cout << “Input the file name:”;

  cin >> file_name;

  ifstream in_file; //打開(kāi)文件

  try{

  in_file.open(file_name.c_str());

  if(!in_file)

  throw(file_name);

  }

  catch(string file_name)

  { cout << “Fatal error: File not found.”<

  exit(1);

  }

  int line_count = 0;//文件行數(shù)

  do{

  getline(in_file, lines[line_count]);

  line_count ++;

  if(line_count == lines.size())//未結(jié)束時(shí)行數(shù)設(shè)為原來(lái)2倍

  lines.resize(line_count * 2);

  }while(in_file.eof()==0);

  string tag;//要查找的單詞

  vector colpos;//單詞中第一個(gè)字符所在位置

  colpos.resize(10);

  do

  {

  cout << “Input the word you want to find(# for quit):”;//輸入要查找的單詞#結(jié)束

  cin >> tag;

  if(tag == “#”)

  { break; }

  int count = 0, line_no = 0 , inline_count;//line_no是行號(hào),第?行

  for(line_no = 0 ;line_no < line_count ; line_no++)

  {

  inline_count = count_string(lines[line_no], tag, colpos);//每行查到的個(gè)數(shù)

  count += inline_count; //查到的總數(shù)

  if(inline_count > 0)

  {

  cout << “在第” << line_no<<”行找到”<< inline_count<<”個(gè)” <

  cout << ” ,所在位置是 “;

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

  {

  cout << colpos << ‘ ‘;//輸出位置

  }

  cout << endl;

  cout << lines[line_no] << endl;//輸出行,未作著重顯示

  }

  }

  }while(tag != “#”);

  in_file.close();

  return 0;

  }

金山軟件軟件工程筆試題 軟件工程考試題相關(guān)文章:


相關(guān)熱詞搜索:金山軟件軟件工程筆試題  
猜你喜歡
亚洲一区爱区精品无码_无码熟妇人妻AV_日本免费一区二区三区最新_国产AV寂寞骚妇

                        91在线播放网址| 亚洲欧美日韩国产中文在线| 成人永久免费视频| 奇米色777欧美一区二区| 国产一区二区在线看| 亚洲欧美日韩电影| 天天av天天翘天天综合网| 99re这里只有精品6| 欧美性大战久久久| 91在线视频官网| 一区二区三区在线免费| 日韩美女视频一区二区在线观看| 色综合色狠狠天天综合色| 色婷婷综合久久久久中文| 欧美一级免费观看| 日韩精品成人一区二区三区| 精品国产一区二区三区久久久蜜月| 韩国精品主播一区二区在线观看| 久久久不卡网国产精品一区| 欧美一区二区三区视频在线| 日本不卡1234视频| 中文字幕中文在线不卡住| 色综合天天综合狠狠| 日韩欧美一级在线播放| 国产午夜精品美女毛片视频| 欧美一区二区视频网站| 欧美做爰猛烈大尺度电影无法无天| 99这里只有精品| 亚洲久草在线视频| 91片在线免费观看| 最新欧美精品一区二区三区| 青青草视频一区| 奇米亚洲午夜久久精品| 日韩免费观看2025年上映的电影| 国精品**一区二区三区在线蜜桃| 99re视频这里只有精品| 久久精品一区八戒影视| 精品国产污污免费网站入口| 亚洲精品成人a在线观看| 中文字幕中文乱码欧美一区二区| 亚洲视频图片小说| 亚洲蜜臀av乱码久久精品蜜桃| 欧美aaaaa成人免费观看视频| 成人av午夜电影| 中文字幕一区二区在线播放| 日韩视频免费观看高清完整版在线观看| 精品一区二区三区久久| 青青草成人在线观看| 成人精品视频一区| 欧美亚洲综合一区| 欧美亚洲高清一区| 亚洲日本韩国一区| 中文字幕一区二区三区在线播放| 99国产精品久久| 日韩电影在线一区二区三区| 亚洲第一在线综合网站| 成人18视频在线播放| 91精品国产免费久久综合| 免费成人结看片| 欧美日韩国产片| 欧美一区二区二区| 欧美精品在线视频| 欧美一区二区女人| 激情六月婷婷久久| 在线免费观看一区| 91丨九色丨蝌蚪富婆spa| 亚洲色图19p| 日韩欧美中文字幕精品| 精品夜夜嗨av一区二区三区| 在线观看一区二区精品视频| 视频在线观看国产精品| 9人人澡人人爽人人精品| 欧美三区免费完整视频在线观看| 亚洲欧美在线高清| 欧美男女性生活在线直播观看| 在线观看亚洲精品视频| 国产亲近乱来精品视频| 久久精品免视看| 欧美肥大bbwbbw高潮| 丁香婷婷综合网| www.欧美亚洲| 91精品免费观看| 国产成人精品影视| 国产精品久久午夜| 国产精品1区2区3区| 国产91精品露脸国语对白| 国产欧美日韩综合| 国产呦萝稀缺另类资源| 国产精品国产三级国产普通话蜜臀| 91在线丨porny丨国产| 日本视频在线一区| 4hu四虎永久在线影院成人| 美女网站色91| 国产乱色国产精品免费视频| 色又黄又爽网站www久久| 石原莉奈在线亚洲二区| 国产成都精品91一区二区三| 99免费精品视频| 亚洲福利一区二区| 久久一夜天堂av一区二区三区| 欧美一区午夜视频在线观看| 日本一不卡视频| 久久国产免费看| 久久精品国产成人一区二区三区| 亚洲日韩欧美一区二区在线| 国产日韩精品视频一区| 欧美乱妇一区二区三区不卡视频| 欧美日韩亚洲综合一区二区三区| 成人激情文学综合网| 国产精品77777竹菊影视小说| 欧美欧美欧美欧美首页| 亚洲国产岛国毛片在线| 日本美女一区二区| 亚洲一区二区三区视频在线播放| 日本午夜一区二区| 久久99久久精品| 青青草国产成人99久久| 久久久精品蜜桃| 亚洲精品久久久久久国产精华液| 欧美日韩另类一区| 九九久久精品视频| 亚洲v精品v日韩v欧美v专区| 色乱码一区二区三区88| 中文字幕五月欧美| 亚洲欧美日韩精品久久久久| 偷窥少妇高潮呻吟av久久免费| 亚洲欧美二区三区| 亚洲国产视频直播| 国产成人自拍高清视频在线免费播放| 亚洲不卡一区二区三区| 国产精品国产a| 亚洲国产高清aⅴ视频| 亚洲精品视频观看| 天天操天天干天天综合网| 色妞www精品视频| 色婷婷精品大视频在线蜜桃视频| 偷偷要91色婷婷| 韩国女主播成人在线观看| 韩国三级在线一区| 日韩福利电影在线| 肉丝袜脚交视频一区二区| 91电影在线观看| 国产一区二区在线视频| 老鸭窝一区二区久久精品| 精品一区二区三区的国产在线播放| 婷婷夜色潮精品综合在线| 一区二区不卡在线播放| 成人午夜视频免费看| 4438x亚洲最大成人网| 中文av字幕一区| 欧美精选在线播放| 亚洲成人综合在线| 暴力调教一区二区三区| 91精品婷婷国产综合久久| 一区二区三区鲁丝不卡| 国产尤物一区二区在线| 欧美日韩久久一区| 欧美男人的天堂一二区| 美国一区二区三区在线播放| 午夜国产精品影院在线观看| 欧美视频在线一区二区三区| 亚洲欧美一区二区不卡| 91成人在线精品| 色哟哟一区二区三区| 5858s免费视频成人| 亚洲精品国产精品乱码不99| 成人一区二区三区视频| 日本伊人精品一区二区三区观看方式| 18欧美亚洲精品| 日韩亚洲欧美在线观看| 国产精品久久久久久久岛一牛影视| 国产精品欧美久久久久无广告| 亚洲电影中文字幕在线观看| 91精品办公室少妇高潮对白| 欧美在线啊v一区| 精品国产乱码久久久久久牛牛| 成人福利视频网站| 91影院在线免费观看| 麻豆91精品91久久久的内涵| 91麻豆免费观看| 97久久精品人人做人人爽50路| 美国十次了思思久久精品导航| 亚洲午夜久久久久中文字幕久| 国产91精品一区二区| 国产麻豆欧美日韩一区| 欧洲国内综合视频| 色94色欧美sute亚洲线路二| 久久久不卡影院| 日本vs亚洲vs韩国一区三区| 秋霞影院一区二区| 国产精选一区二区三区| 捆绑调教一区二区三区| 亚洲男人天堂av网| 亚洲美女电影在线| 亚洲欧美色综合| 日韩电影一区二区三区四区| 国产午夜精品一区二区三区四区| 成人精品在线视频观看| 亚洲精品一区二区三区四区高清| 91麻豆国产自产在线观看|