C++primer plus 第七章习题(自己写的,欢迎指正)
2016-05-08 21:56
573 查看
第七章
#include<iostream> #include<stdlib.h> //第七章 using namespace std; double aver(const int *x, const int *y); int main() { int x, y; cout << "Please enter two figures:"; cin >> x >> y; double res = aver(&x, &y); cout << "Your result is:" << res << endl; system("pause"); return 0; } double aver(const int *x,const int *y) { double result = 0; result = 2.0*(*x)*(*y) / (*x + *y); return result; } #include<iostream> #include<stdlib.h> //第七章 using namespace std; const int Max = 10; int fill(double arr[],int len); double deal(double arr[], int len); void display(double arr[], int len,double sum); int main() { double arr[Max]; int x; double y; x = fill(arr, Max); y = deal(arr, x); display(arr, x, y); system("pause"); return 0; } int fill(double arr[], int len) { int i; double num; for (i = 0; i < len; i++) { cout << "Please enter your figures:"; while (!(cin >> num)) { cin.clear(); while (cin.get() != '\n') continue; cout << "Bad input!" << endl; break; } if (num < 0) { break; } arr[i] = num; } return i; } double deal(double arr[], int len) { double sum=0; for (int i = 0; i < len; i++) { sum += arr[i]; } return sum; } void display(double arr[], int len, double sum) { for (int i = 0; i < len; i++) { cout << "Grade:" << arr[i] << " "; } cout << endl; cout << "Total grade:" << sum << endl; cout << "Average grade:" << sum / len << endl; } #include<iostream> #include<stdlib.h> //第七章 using namespace std; const int Max = 10; struct box { char maker[40]; float height; float width; float length; float volume; }; box fill(); void show(box b); void fill(box *b); void show(box *b); int main() { box a; a = fill(); show(a); box c; /*fill(&c); show(&c);*/ system("pause"); return 0; } box fill() { box b; cout << "Please enter your maker:"; cin >> b.maker; cout << "Please enter your height:"; cin >> b.height; cout << "Please enter your width:"; cin >> b.width; cout << "Please enter your length:"; cin >> b.length; cout << "Please enter your volume:"; cin >> b.volume; return b; } void show(box b) { cout << "Your maker:" << b.maker << endl; cout << "Your height:" << b.height << endl; cout << "Your width:" << b.width << endl; cout << "Your length:" << b.length << endl; cout << "Your volume:" << b.volume << endl; } void fill(box *b) { cout << "Please enter your maker:"; cin >> b->maker; cout << "Please enter your height:"; cin >> b->height; cout << "Please enter your width:"; cin >> b->width; cout << "Please enter your length:"; cin >> b->length; cout << "Please enter your volume:"; cin >> b->volume; } void show(box *b) { cout << "Your maker:" << b->maker << endl; cout << "Your height:" << b->height << endl; cout << "Your width:" << b->width << endl; cout << "Your length:" << b->length << endl; cout << "Your volume:" << b->volume << endl; } #include<iostream> #include<stdlib.h> #define ui unsigned int //第七章 using namespace std; const int Max = 10; struct area { ui ar1; ui ar2; }; void probiba(area ar1, area ar2); int main() { area are1, are2; cout << "Please enter first ar1 and ar2:"; cin >> are1.ar1 >> are1.ar2; cout << "Please enter second ar1 and ar2:"; cin >> are2.ar1 >> are2.ar2; probiba(are1, are2); system("pause"); return 0; } void probiba(area are1, area are2) { long double res1 = 1.0,res2=1.0; ui i, j; for (i = are1.ar1,j=are1.ar2; j>0; i--,j--) { res1 = res1*i/j; } cout << "pro1:" << res1 << endl; for (i = are2.ar1,j = are2.ar2; j>0; i--, j--) { res2 = res2*i / j; } cout << "pro2:" << res2 << endl; cout << "End pro:" << res1*res2 << endl; } #include<iostream> #include<stdlib.h> #define ui unsigned int //第七章 using namespace std; long long jiecheng(int x); int main() { int num; cout << "Please enter your num:"; cin >> num; long long res=jiecheng(num); cout << "Result:" << res << endl; system("pause"); return 0; } long long jiecheng(int x) { if (x == 1 || x == 0) return 1; else return x*jiecheng(x-1); } #include<iostream> #include<stdlib.h> //第七章 const int Size = 10; using namespace std; int fillnum(double arry[], int size); void show(double array[], int size); void reserve(double array[], int size); int main() { double array[Size]; int i = fillnum(array, Size); show(array, i); reserve(array, i); show(array, i); system("pause"); return 0; } int fillnum(double arry[], int size) { int i; for ( i = 0; i < size; i++) { cout << "Please enter your number:"; if(!(cin >> arry[i])) break; } return i; } void show(double array[], int size) { cout << "The number of array:"; for (int i = 0; i < size; i++) { cout << array[i] << " "; } cout << endl; } void reserve(double array[], int size) { int j; for (int i = 0,j=size-1; i < size/2; i++,j--) { double temp = array[i]; array[i] = array[j]; array[j] = temp; } } #include<iostream> #include<stdlib.h> //第七章 const int Size = 5; using namespace std; double * fillnum(double arry[], int size); void show(double array[], double *); void revalue(double array[], double *,double r); int main() { double array[Size]; double * i = fillnum(array, Size); show(array, i); double r; cout << "Please enter your r:"; cin >> r; revalue(array, i,r); show(array, i); system("pause"); return 0; } double* fillnum(double arry[], int size) { int i; for (i = 0; i < size; i++) { cout << "Please enter your number:"; if (!(cin >> arry[i])) { cin.get(); break; } else if (arry[i] < 0) { cin.get(); break; } } return &arry[i]; } void show(double array[], double *end) { cout << "The number of array:"; double * i; for (i = array; i !=end; i++) { cout << *i << " "; } cout << endl; } void revalue(double array[], double *end,double r) { double *i; for (i = array; i != end; i++) { (*i) *= r; } } #include<iostream> #include<stdlib.h> //第七章 const int Size = 4; const char *seasons[4] = { "spring", "summer", "autumn", "winter" }; using namespace std; double * fillnum(double arry[], int size); void show(double array[], double *); int z; int main() { double array[Size]; double * i = fillnum(array, Size); show(array, i); system("pause"); return 0; } double* fillnum(double arry[], int size) { for (z = 0; z < size; z++) { cout << "Please enter "<<seasons[z]<<" expense:"; if (!(cin >> arry[z])) { cin.get(); break; } else if (arry[z] < 0) { cin.get(); break; } } return &arry[z]; } void show(double array[], double *end) { double * i; int j = 0; for (i = array,j=0; i != end,j<z; i++,j++) { cout << seasons[j] << " espense:"; cout << *i <<endl; } } #include<iostream> #include<stdlib.h> //第七章 const int SLEN = 30; using namespace std; struct student { char fullname[SLEN]; char hobby[SLEN]; int ooplevel; }; int getinfo(student pa[], int n); void display1(student st); void display2(student *ps); void display3(const student pa[], int n); int main() { cout << "Enter class size:"; int class_size; cin >> class_size; while (cin.get() != '\n') continue; student *ptr_stu = new student[class_size]; int entered = getinfo(ptr_stu, class_size); for (int i = 0; i < entered; i++) { display1(ptr_stu[i]); display2(&ptr_stu[i]); } display3(ptr_stu, entered); delete[]ptr_stu; cout << "Done\n"; system("pause"); return 0; } int getinfo(student pa[], int n) { int i; for (i = 0; i < n; i++) { cout << "Please your name:"; cin >> pa[i].fullname; if (pa[i].fullname == " ") break; cout << "Please your hobby:"; cin >> pa[i].hobby; cout << "Please your opplevel:"; cin >> pa[i].ooplevel; } return i; } void display1(student st) { cout << "Your name is:"<<st.fullname<<endl; cout << "Your hobby is:" << st.hobby << endl; cout << "Your opplevel is:" << st.ooplevel << endl; } void display2(student *ps) { cout << "Your name is:" << ps->fullname << endl; cout << "Your hobby is:" << ps->hobby << endl; cout << "Your opplevel is:" << ps->ooplevel << endl; } void display3(const student pa[], int n) { for (int i = 0; i < n; i++) { cout << "Your name is:" << (pa + i)->fullname << endl; cout << "Your hobby is:" << (pa + i)->hobby << endl; cout << "Your opplevel is:" << (pa + i)->ooplevel << endl; } } #include<iostream> #include<stdlib.h> //第七章 typedef double(*pf)(double, double); using namespace std; double calculate(double, double, pf); double add(double, double); double sub(double, double); double mut(double, double); double div(double, double); int main() { int num1, num2; pf ca[4]= {add,sub,div,mut}; char *cal[] = { "add", "sub", "div", "mut" }; cout << "Please enter two figures:"; cin >> num1 >> num2; for (int i = 0; i < 3; i++) { double x = calculate(num1, num2,ca[i]); cout << cal[i] <<":"<< x << endl; } system("pause"); return 0; } double calculate(double x, double y, pf ca) { return (*ca)(x, y); } double add(double x, double y) { return x + y; } double sub(double x, double y) { return x - y; } double mut(double x, double y) { return x*y; } double div(double x, double y) { return x / y; }
相关文章推荐
- C++ 捕获本机网卡的IP包并对其解析的实现
- C++学习笔记之——内联函数,引用
- C++中的传参方式
- 利用curl进行逆地理编码_c语言编写动态链接库对PostgreSQL进行扩展
- C++ Learning——Build a simple&little RB_Tree
- 【C++】标准IO库
- 霍夫曼树及霍夫曼编码的C语言实现
- C++中的const,static const和static类成员的初始化问题
- c++作业5
- C++第5次上机实验:数组分离
- c++作业:Circle
- c++各种分割字符串的方法
- DES算法C++实现
- c++实验5—数组分离
- C++第五次作业
- C++最大访客数
- C++八皇后问题
- [C++]二叉树总结
- C语言内存分配函数
- 输入挂C++模板