本题要求实现一个函数,可统计整型二维数组中所有末位是x(x是0-9)的元素的个数并输出这些元素。

本题要求实现一个函数,可统计整型二维数组中所有末位是x(x是0-9)的元素的个数并输出这些元素。
要求主函数读入二维数组的行、列数,以及各个元素值。并读入x的值。
在子函数输出满足要求的元素(注意:英文逗号分隔),回主函数输出满足要求的元素个数。

函数接口定义:
int Count_Digit ( int a[ ][10 ], int m,int n,int x );
其中 a 和 x 都是用户传入的参数。 a是主函数传递的二维数组,m和n分别是二维数组的行、列元素个数。
x是指定的末位数字。函数输出所有末位是x(x是0-9)的元素,并返回末位是x的元素个数。

裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
#include <stdio.h>
int Count_Digit ( int a[ ][10 ], int m,int n,int x );
int main()
{ int a[10][10],i,j,num=0,m,n,x;
scanf("%d%d",&m,&n) ; //读入行列数目,并输入m行n列元素,m和n保证小于10
for(i=0; i<m; i++)
for(j=0; j<n; j++)
scanf("%d", &a[i][j]);
scanf("%d", &x); // 读入数组元素后,再读入指定的末位数字x
num=Count_Digit(a,m,n, x) ; // 调用函数求num
printf("num=%d", num) ;
return 0;
}

/* 请在这里填写答案 */
输入样例:
3 4
13 15 25 36
35 18 17 23
12 22 45 565
5
输出样例:
在这里给出相应的输出。例如:

they are 15,25,35,45,565,num=5
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C (gcc)
1

上一题

实现Count_Digit方法,在方法中遍历循环判断是否满足末位是x

#include <stdio.h>
int Count_Digit ( int a[ ][10 ], int m,int n,int x );
int main()
{ int a[10][10],i,j,num=0,m,n,x;
scanf("%d%d",&m,&n) ; //读入行列数目,并输入m行n列元素,m和n保证小于10
for(i=0; i<m; i++)
for(j=0; j<n; j++)
scanf("%d", &a[i][j]);
scanf("%d", &x); // 读入数组元素后,再读入指定的末位数字x
num=Count_Digit(a,m,n, x) ; // 调用函数求num
printf("num=%d", num);
return 0;
}
int Count_Digit ( int a[ ][10 ], int m,int n,int x ){
    int count=0;
    printf("they are ");
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            if(a[i][j]%10==x){
                printf("%d,", a[i][j]);
                count++;
            }
        }
    }
    return count;
}

代码如下:

#include <stdio.h>
int Count_Digit(int a[][10], int m, int n, int x);
int main()
{
    int a[10][10], i, j, num = 0, m, n, x;
    scanf("%d%d", &m, &n); //读入行列数目,并输入m行n列元素,m和n保证小于10
    for (i = 0; i < m; i++)
        for (j = 0; j < n; j++)
            scanf("%d", &a[i][j]);
    scanf("%d", &x); // 读入数组元素后,再读入指定的末位数字x
    num = Count_Digit(a, m, n, x); // 调用函数求num
    printf("num=%d", num);
    return 0;
}

int Count_Digit(int a[][10], int m, int n, int x)
{
    int i, j;
    int nmb = 0;
    printf("they are ");
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            if (a[i][j] % 10 == x)
            {
                printf("%d,", a[i][j]);
                nmb++;
            }
        }
    }
    return nmb;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632