文章目录
第九单元
1.数据处理:写一个函数找出一个整数数组中,第二大的数 (每小题10分)
①请创建出一个函数
②要求在整个数组中,计算出相对的第二个比较大的值
③请输出正确结果
void unit7_1(){
int arr[4] ={1,2,7,9};
sort(arr,arr+4); //升 1279 9721降
cout << "第二大:"<< arr[2];
}
2.模型操作(每小题10分)
①请输入函数f()
②要求计算n个元素的一维数组中相邻两个数的差值
③计算出其中最大差的值
④最后输出函数返回值
int unit7_2(){
int arr[4] ={1,2,7,9};
int max=-100; //越小越好
for(int i = 0;i<4-1;i++){
if(max < arr[i]-arr[i+1]){
max = arr[i]-arr[i+1];
}
}
return max;
}
3.求e的值,e≈1+1/1!+1/2!+1/3!+1/4!+…1/10!..,最后一项的值小于1e-6
void unit7_3(){
double e=1;
double sum=1;
for(double i=1;;i++){
sum*=i;//阶乘
e+=1/sum;
if(1/sum < 0.000001){
cout << i << endl;
break;
}
}
cout << e<<endl;
}
4.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车牌号,只记下车号的特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字相同的,但与前两位不同;丙是位数学家,她说:四位的车号刚好是一个整数的平方。(每小题10分)
①正确导入相关头文件
②请在主函数中输出。
③定义正确参数变量
④请根据以上线索求出车号。
⑤写出正确的for循环
合理注释
void unit7_4(){
for(int i = 1000;i<=9999;i++){
int q = i/1000%10;
int b = i/100%10;
int s = i/10%10;
int g = i%10;
if(q==b && s==g){
for(int j = 2;j<100;j++){
if(j*j==i){
cout << j << endl;
cout << i<< endl;
}
}
}
}
}
5.1000以内水仙花数
void unit7_5(){
for(int i = 100;i<=999;i++){
int b = i/100%10;
int s = i/10%10;
int g = i%10;
if(b*b*b + s*s*s + g*g*g == i){
cout << i << endl;
}
}
}