大一下 c + + 上机实验总结(一)

it2022-05-05  107

大一下c + +上机实验总目录:大一下c + +上机实验总结目录


1、编写函数avernum,计算含有n(n<=100)个整数的一维数组的数组元素的平均值,并统计此数组中大于平均值的数据的个数。要求,n及n个数据均在主函数输入,计算结果也在主函数中输出。(不允许使用全局变量)

方法一:借助于引用

#include<iostream> using namespace std; int avernum(int b[],int n,int &average) { int i,sum=0,count=0;//count用于统计大于平均值的个数 for(i=0;i<n;i++) sum=sum+b[i]; average=(float)sum/n; for(i=0;i<n;i++) if(b[i]>average) count++; return count;//返回大于平均值的个数,而平均值average是主函数中变量aver的引用,所以average的值就是aver的值 } int main() { int a[100]; int n,i,aver,num; cout<<"请输入n(n<=100)的值:"<<endl; cin>>n; cout<<"请输入n个数据的具体值:"<<endl; for(i=0;i<n;i++) cin>>a[i]; num=avernum(a,n,aver); cout<<"平均值为:"<<aver<<endl; cout<<"大于平均值的个数为:"<<num<<endl; return 0; }

方法二:借助于一个长度为2的整型数组

#include<iostream> using namespace std; void avernum(int b[],int n,int re[]) {int i,sum=0;//count用于统计大于平均值的个数 for(i=0;i<n;i++) sum=sum+b[i]; re[0]=(float)sum/n; for(i=0;i<n;i++) if(b[i]>re[0]) re[1]++; } int main() { int a[100],result[2]={0}; int n,i,aver,num; cout<<"请输入n(n<=100)的值:"<<endl; cin>>n; cout<<"请输入n个数据的具体值:"<<endl; for(i=0;i<n;i++) cin>>a[i]; avernum(a,n,result); cout<<"平均值为:"<<result[0]<<endl; cout<<"大于平均值的个数为:"<<result[1]<<endl; return 0; }

2、读入下表中值到二维数组,计算并输出数组中既能被3整除又能被5整除的数的个数。 12 4 6 8 23 3 15 7 9 2 5 17

#include<iostream> using namespace std; int main() { int a[4][3],i,j,count=0; cout<<"请读入二维数组:"<<endl; for(i=0;i<4;i++) for(j=0;j<3;j++) cin>>a[i][j]; for(i=0;i<4;i++) for(j=0;j<3;j++) if(a[i][j]%3==0&&a[i][j]%5==0) count++; cout<<"数组中既能被3整除又能被5整除的数的个数为:"<<count<<endl; return 0; }

3、试着做如下题目:输入两个学生的学号、姓名和成绩,输出成绩较高学生的学号、姓名和成绩 解题思路: (1)定义两个结构相同的结构体变量student1和student2; (2)分别输入两个学生的学号、姓名和成绩; (3)比较两个学生的成绩,如果学生1的成绩高于学生2,就输出学生1的全部信息,如果学生2的成绩高于学生1,就输出学生2的全部信息。如果二者相等,输出2个学生的全部信息

#include <iostream> using namespace std; int main() { struct Student { int num; char name[20]; float score; }student1,student2; cin>>student1.num>> student1.name>>student1.score; cin>>student2.num>>student2.name>>student2.score; cout<<"The higher score is:\n"; if (student1.score>student2.score) cout<<<<student1.num<<“\t”<<student1.name<<“\t”student1.score; else if (student1.score<student2.score) cout<<<<student2.num<<“\t”<<student2.name<<“\t”student2.score; else { cout<<<<student1.num<<“\t”<<student1.name<<“\t”student1.score; cout<<<<student2.num<<“\t”<<student2.name<<“\t”student2.score; } return 0; }

最新回复(0)