浙江工业大学计算机专业课程统考
3.将下列程序中的函数指针参数调用改写成引用参数调用方式(8分)
//---------------------------------- #include
//---------------------------------- void swap(int&, int&);
//---------------------------------- int main(){
int a=16, b=48;
cout<<”a=”<
swap(a,b);
cout<<”After Being Swapped: \\n”; cout<<”a=”<
}//--------------------------------- void swap(int& a, int& b){ int tmp=a; a=b; b=tmp;
}//---------------------------------
4.根据下列代码和其运行结果,写出完整的A类(6分)
class A { int a, b; public:
A(){ cout<<”Default constructor called.\\n”; }
~A(){ cout<<”Destructor called. a=”<
三、分析设计题(40分,任选多题作答)
1.编制求级数和的程序,当前后两项之差小于0.2时停止(10分)。
//---------------------------------- #include
using namespace std;
//---------------------------------- int main(){
double sum=1,item=1;
long double fact=1,devi=1;
for(int i=2; abs(item)>0.01; i+=2){ fact=fact/(i*(i+1)); devi=1.0/i;
item=fact-devi; sum += item; }
cout< (运行结果为:-1.07) 第 6 页 浙江工业大学计算机专业课程统考 2. 用循环语句编程,输出图形(6分)。 //---------------------------------- #include using namespace std; //---------------------------------- int main(){ for(char ch='a'; ch<='z'; ch++) { cout< }//--------------------------------- 3.编程求1!+2!+3!+……+11!之和(6分)。 //---------------------------------- #include //---------------------------------- int main(){ int sum=0; for(int n=1,k=1; n<=11; k *= ++n) sum += k; cout< }//--------------------------------- (运行结果为:43954713) 4.编写一个对日期数据排序的程序(10分)。 //---------------------------------- #include //---------------------------------- bool comp(const string& x, const string& y){ return (x.substr(6)+x) < (y.substr(6)+y); }//--------------------------------- int main(){ ifstream cin(“abc.txt”); vector for(string s; cin>>s; ) a.push_back(s); 第 7 页 浙江工业大学计算机专业课程统考 sort(a.begin(), a.end(), comp); for(int i=0; i }//--------------------------------- 5.编写程序,求整数序列的和(10分)。 //---------------------------------- #include //---------------------------------- int main(){ for(int n; cin>>n && n; ){ int sum = 0; for(int i=1,a; i<=n && cin>>a; i++) sum += a; cout< }//--------------------------------- 6.编程求n!中末尾0的个数(20分)。 //---------------------------------- #include //---------------------------------- int get5s(int n){ //求n中因子5的个数 if(n%5==0) return 1+get5s(n/5); return 0; }//-------------------------------- int main(){ for(int n; cin>>n && n; ){ int k=0; for(int i=5; i<=n; i+=5) //累计因子5的个数 k += get5s(i); cout< }//--------------------------------- 第 8 页