实验5
ex3
#include <iostream> #include <vector> #include <string> using namespace std; void output1(vector<string> &); void output2(vector<string> &); int main() { vector<string>likes, dislikes; // 创建vector<string>对象likes和dislikes // 为vector<string>数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc) likes.push_back("English"); likes.push_back("Your Name"); likes.push_back("milk"); likes.push_back("football"); cout << "-----I like these-----" << endl; // 调用子函数输出vector<string>数组对象likes的元素值 output1(likes); // 为vector<string>数组对象dislikes添加元素值 dislikes.push_back("math"); dislikes.push_back("War and peace"); dislikes.push_back("icecream"); dislikes.push_back("basketball"); cout << "-----I dislike these-----" << endl; // 调用子函数输出vector<string>数组对象dislikes的元素值 output1(dislikes); // 交换vector<string>对象likes和dislikes的元素值 for(int i=0;i<=likes.size();i++) { likes.swap(dislikes); } cout<<"swap"<<endl; cout << "-----I likes these-----" << endl; // 调用子函数输出vector<string>数组对象likes的元素值 output2(likes); cout << "-----I dislikes these-----" << endl; // 调用子函数输出vector<string>数组对象dislikes的元素值 output2(dislikes); return 0; } // 以下标方式输出vector<string>数组对象v的元素值 void output1(vector<string> &v) { for(int j=0;j<v.size();j++) { cout<<v[j]<<", "; } cout<<endl; }; // 以迭代器方式输出vector<string>数组对象v的元素值 void output2(vector<string> &v) { vector<string>::iterator b; for(b=v.begin();b<v.end();++b) { cout<<*b<<", "; } cout<<endl; };
6-17
指针定义和赋值同时进行
#include<iostream> using namespace std; int main() { int a=9, &p=a; //指针定义时应先指向一个值 cout<<"The value at p:"<<p; return 0; }
6-18
#include<iostream> using namespace std; int fnl() { int *p=new int (5); //申请了动态内存 return *p; //释放分配的动态内存 delete p; } int main() { int a=fnl(); cout<<"the value of a is:"<<a; return 0; }
期中1
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; class Dice{ public: Dice(int a){ sides=a; } int cast(){ srand(time(NULL)); int b[500]; int me=0; for(int i=0;i<500;i++) { int num=rand() %sides+1; if(num==36){me++;} b[i]=num; } for(int i=0;i<500;i++) { cout<<b[i]<<" "; } cout<<"被抽中"<<me<<"次"<<endl; return me; } private: int sides; }; int main() { int number; cin>>number; Dice a(number); float result=a.cast(); cout<<"概率为"<<result<<"/500"; }
期中3
book.h
#ifndef BOOK_H #define BOOK_H #include <string> using std::string; class Book { public: Book(string isbnX, string titleX, float priceX); //构造函数 void print(); // 打印图书信息 private: string isbn; string title; float price; }; #endif
book.cpp
#include "book.h" #include <iostream> #include <string> using namespace std; // 构造函数 // 补足程序 Book::Book(string isbnX, string titleX, float priceX){ isbn=isbnX; title=titleX; price=priceX; } // 打印图书信息 // 补足程序 // ... void Book::print(){ cout<<isbn<<" "<<title<<" "<<price<<" "<<endl; }
main.cpp
#include "book.h" #include <vector> #include <iostream> using namespace std; int main() { // 定义一个vector<Book>类对象 // 补足程序 vector<Book> books; string isbn, title; float price; // 录入图书信息,构造图书对象,并添加到前面定义的vector<Book>类对象中 // 循环录入,直到按下Ctrl+Z时为止 (也可以自行定义录入结束方式) // 补足程序 while(cin>>isbn>>title>>price){ Book a(isbn,title,price); books.push_back(a); } // 输出入库所有图书信息 // 补足程序 cout<<"输出书本信息如下:"<<endl; for(int i=0;i<books.size();i++) { books[i].print(); } return 0; }
动态矩阵和期中2有点难不会写。。。