上機練習1 |
上機模擬試卷(1) (1) 改錯題: 函數fun的功能是:求出s所指字符串中最后一次出現t所指子字符串的地址,通過函數值返回,在主函數中輸出從此地址開始字符串,若未找到,則函數值為NULL. 例如:當字符串中的內容為 abcdabfabcdx,t中的內容為ab時,輸出結果為abcdx. 含有錯誤的源程序如下: # include <iostream.h> #include <string.h> char *fun(char *s, char *t) { char *p,*r,*a; a=Null; while(*s) { p=s;r=t; while(*r) if(r==p) {r++;p++} else break; if(*r==’\ p++; } return a; } main() { char s[100], t[100], *p; cout<<”Please enter string S:”; cin>>s; cout<<”Please enter substring t:”; cin>>t; p=fun(s,t); if(p) cout<<”The result is:”<<p; else cout<<”Not found!”; }
二:編程題: 建立一個類Array,動態生成數組,按數組元素后兩位上值大大小進行降序排序,數組中的每個數均是四位數,具體如下: 1. 私有數據成員. int *a:指向根據len動態申請的數組空間 int len:有效數組元素的個數 2. 公有成員函數: Array(int b[],int length):構造函數,使用數組b初始化a所指的動態數組,length初始化len void sort():按題意對動態數組中的元素進行排序 void print():輸出a所指向的數組 ~Array():析構函數, 釋放動態數組空間 3.在主函數中定義一個Array類的對象test,調用成員函數完成排序和輸出
|