实验7

1.题目描述

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
    int a[35]={},num=0;
    double sum,ave,nor;
    srand(unsigned(time(0)));
    for(int i=1;i<=30;i++){
        int tmp=rand()%101;
        sum+=tmp;
        a[i]=tmp;
    }
    ave=double(sum/30.0);
    cout<<ave<<endl;
    nor=ave*0.8;
    for(int i=1;i<=30;i++){
        if(a[i]<nor)    num++;
    }
    cout<<num<<endl;
    getchar();
    getchar();
}

 

2.题目描述

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
int main(){
    int n,a[1005]={};
    cin>>n;
    for(int i=1;i<=n;i++)    cin>>a[i];
    for(int i=1;i<n;i++)
        for(int j=n-1;j>=i;j--){
            if(a[j]>a[j+1]){
                int tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }
        }
    for(int i=1;i<=n;i++)    cout<<a[i]<<" ";
    getchar();
    getchar();
}

 

3.题目描述

建立两个一维整型数组data[10]beta[10]。在数组data中存入10个整数: 1094524883566957312183143,并输出至屏幕。对数组data进行处理,求每个整数的各位数字之和,依次存入数组beta。例如,整数45的各位数字之和为4+5=9。依次输出数组beta至屏幕。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int main(){
    int a[15]={},b[15]={};
    for(int i=1;i<=10;i++){
        cin>>a[i];
        while(a[i]){
            int tmp=a[i]%10;
            b[i]+=tmp;
            a[i]/=10;
        }
    }
    for(int i=1;i<=10;i++)
        cout<<b[i]<<" ";
    getchar();
    getchar();
} 

 

4.题目描述

建立三个一维整型数组data1[10]data2[10]data3[20] 。自定义输入数据的函数为数组data1data2中分别输入10个整数,自定义排序函数对数组data1data2进行排序。自定义归并数组函数,把数组data1data2合并到data3,要求合并后的数组data3也是有序的。建立输出数组的函数,用于分别输出各数组的结果[提示:要求两个参数,一个是数组,另一个是数组的大小]。通过main()测试各自定义函数。

 

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int main(){
    int a[15]={},b[15]={},c[25]={};
    int t1=1,t2=1;
    int n=10,cnt=0;
    for(int i=1;i<=10;i++)    cin>>a[i];
    for(int i=1;i<=10;i++)    cin>>b[i];
    for(int i=1;i<n;i++)
        for(int j=n-1;j>=i;j--){
            if(a[j]>a[j+1]){
                int tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }
        }
    for(int i=1;i<n;i++)
        for(int j=n-1;j>=i;j--){
            if(b[j]>b[j+1]){
                int tmp=b[j];
                b[j]=b[j+1];
                b[j+1]=tmp;
            }
        }
    while(t1<=10 && t2<=10){
        if(a[t1]<b[t2]){
            c[++cnt]=a[t1];
            t1++;
        }
        else{
            c[++cnt]=b[t2];
            t2++;
        }
    }
    while(t1<=10)    c[++cnt]=a[t1],t1++;
    while(t2<=10)    c[++cnt]=a[t2],t2++;
    for(int i=1;i<=cnt;i++)    cout<<c[i]<<" ";
    getchar();
    getchar();
}

 

posted @ 2021-11-17 18:31  LittleOrange  阅读(63)  评论(0编辑  收藏  举报