首页 > 编程语言 > 详细

指针(数组)练习

时间:2020-04-27 15:59:59      阅读:54      评论:0      收藏:0      [点我收藏+]

 

#include<bits/stdc++.h>
#define N 100
using namespace std;
void input_one(int a[],int n)
{
    for(int i = 0; i < n; i++)
    {
        scanf("%d",&a[i]);
    }
}
void input_two(int a[][N], int m,int n)
{
    for(int i = 0; i < m; i++)
    {
        for(int j = 0; j < n; j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
}
int MAX(int a[],int n)
{
    if(n>0)
    {
        int M = a[0];
        for(int i = 1; i < n; i++)
        {
            if(M<a[i])
                M = a[i];
        }
        return M;
    }
    else return -1;

}
void MAX_matrix(int a[][N],int m,int n, int MAX[])
{
    for(int i = 0; i < m; i++)
    {
        MAX[i] = a[i][0];
        for(int j = 1; j < n; j++)
        {
            if(a[i][j] > MAX[i])
                MAX[i] = a[i][j];
        }
    }
}
int even_number_total(int a[],int n)
{
    int cnt = 0;
    for(int i = 0; i < n; i++)
    {
        if(a[i]%2 == 0)cnt++;
    }
    return cnt;
}
void swap(int *a,int *b)
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
void inverse(int a[],int n)
{
    for(int i = 0; i < n/2; i++)
    {
        swap(&a[i],&a[n-i-1]);
    }
}
void output(int a[],int n)
{
    for(int i = 0; i < n; i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
}
struct number_unit_node
{
    int unit[10];
    int digit;
};
struct number_unit_node divide(int number)
{
    struct number_unit_node ans;
    int i = 0;
    while(number>0)
    {
        ans.unit[i++] = number%10;
        number/=10;
    }
    ans.digit = i;
    inverse(ans.unit,ans.digit);
    return ans;
};
bool check(int a[],int n)
{
    int i = 0,j=n-1;
    while(i <= j)
    {
        if(a[i] == a[j])
        {
            i++;
            j--;
        }
        else return false;
    }
    return true;
}
int main()
{
//    int n = 10;
//    scanf("%d",&n);
//    int a[100];
//    input(a,n);
//    //printf("%d",MAX(a,n));
//    //printf("%d",even_number_total(a,n));
//    inverse(a,n);
//    output(a,n);
//    int number;
//    scanf("%d",&number);
//    struct number_unit_node ans = divide(number);
//    //output(ans.unit,ans.digit);
//    if(check(ans.unit,ans.digit))printf("是\n");
//    else printf("不是\n");
    int a[N][N],MAX[N];
    int m,n;
    scanf("%d%d",&m,&n);
    input_two(a,m,n);
    MAX_matrix(a,m,n,MAX);
    output(MAX,m);


    return 0;
}

 

指针(数组)练习

原文:https://www.cnblogs.com/zhang-zsq/p/12786198.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!