0
点赞
收藏
分享

微信扫一扫

C++数组——例题

米小格儿 2022-01-20 阅读 105

AcWing 737. 数组替换

#include <iostream>
#include <cstring>
#include <algorithm>
const int N = 10;
int X[N];
using namespace std;

int main()
{
    for(int i = 0; i < N; i++){
        int a;
        cin >> a;
        if(a <= 0) a = 1;
        printf("X[%d] = %d\n",i,a);
    } 

    return 0;
}

 AcWing 738. 数组填充

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<10;i++)
    {
    cout<<"N["<<i<<"] = "<<n<<endl;;
    n*=2;
    }
    return 0;
}

 AcWing 739. 数组选择

#include<iostream>
using namespace std;
int main() {
    double arr[100];
    for (int i = 0; i < 100; i++) {
        double num;
        cin >> num;
        arr[i] = num;
        if (num <= 10) printf("A[%d] = %.1lf\n", i, arr[i]);
    }
    return 0;
}

 743. 数组中的行

#include <bits/stdc++.h>
using namespace std;
int main(){
    double m[12][12];
    int l;
    double s = 0;
    char x;
    cin >> l >> x;
    for(int i = 0;i < 12;i++){
        for(int j = 0;j < 12;j++){
            cin >> m[i][j];
            if(i == l) s += m[i][j];
        }
    }
    if(x == 'M') s = s / 12;
    cout << fixed << setprecision(1) << s;
    return 0;
}

 AcWing 745. 数组的右上半部分

#include <bits/stdc++.h>
using namespace std;
int main(){
    double m[12][12], s = 0;
    char x;
    cin >> x;
    for(int i = 0;i < 12;i++){
        for(int j = 0;j < 12;j++){
            cin >> m[i][j];
            if(i < j){
                s += m[i][j];
            }
        }
    }
    if(x == 'M') s = s / 66;
    cout << fixed << setprecision(1) << s;
    return 0;
}

 AcWing 747. 数组的左上半部分 

#include <bits/stdc++.h>
using namespace std;
int main()
{
    double m[12][12], s = 0;
    char x;
    cin >> x;
    for(int i = 0;i < 12;i++){
        for(int j = 0;j < 12;j++){
            cin >> m[i][j];
            if(i + j < 11){
                s += m[i][j];
            }
        }
    }
    if(x == 'M') s = s / 66;
    cout << fixed << setprecision(1) << s;
    return 0;
}

 749. 数组的上方区域

#include<iostream>
#include<cstdio>

using namespace std;
int main(){
    char c;
    cin>>c;
    double a[12][12];
    for(int i=0;i<12;i++){
        for(int j=0;j<12;j++){
            scanf("%lf",&a[i][j]);
        }
    }
    int d=0;
    double sum=0;
    for(int i=0;i<5;i++){
        for(int j=i+1;j<12-(i+1);j++){
            sum+=a[i][j];
            d++;
        }
    }
    if(c=='S') printf("%.1lf",sum);
    else printf("%.1lf",sum/d);
    return 0;
}

 751. 数组的左方区域

#include <iostream>
using namespace std;
int main()
{
    char a;
    cin>>a;

    double s=0;
    for(int i=0;i<12;i++)
    {
        for(int j=0;j<12;j++)
        {
            double a;
            cin>>a;
            if((i+j)<=10&&i>j) // 规律
            s+=a;
        }
    }
    printf("%.1lf", a=='S' ? s : s/30);

}

  AcWing 753. 平方矩阵 I 

#include <iostream>
using namespace std;

int main()
{
    int n,a[110][110],i,j;
    while(cin>>n)
    {
        if(!n) break;
        for(i=1;i<=n;i++)
        {
            for(j=i;j<=n-i+1;j++)
            {
                a[j][i]=i;
                a[i][j]=i;
                a[j][n-i+1]=i;
                a[n-i+1][j]=i;
            }
        }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
                cout<<a[i][j]<<' ';
            cout<<endl;
        }
        cout<<endl;
    }
    return 0;
}

举报

相关推荐

0 条评论