PTA 6-34 输出特定范围内符合条件的数

键盘输入m,n(约定:m和n均且为正整数),输出介于m和n(含m和n)中能被指定数字整除且至少有两位数字是该给定数字的所有整数,输出的整数之间用1个空格分隔,最后一个整数后面没有空格。

函数接口定义:

 

void fun(int *Num, int begin, int end, int digi,int *Count); void printNum(int *Num,int Count);

Num用于存放符合要求的整数,begin、end描述范围,digi描述指定数字,Count描述符合条件的数的位数

裁判测试程序样例:

 

在这里给出函数被调用进行测试的例子。例如: void fun(int *Num, int begin, int end, int digi,int *Count); void printNum(int *Num,int Count); int main(void) { int numCount,m,n, diginum, num[1000],i; scanf("%d,%d", &m, &n); scanf("%d",&diginum); fun(num, m, n, diginum,&numCount) ; printNum(num,numCount); return 0; } /* 请在这里填写答案 */

输入样例1:

在这里给出一组输入。例如:

1,1000
5

输出样例1:

在这里给出相应的输出。例如:

55 155 255 355 455 505 515 525 535 545 550 555 565 575 585 595 655 755 855 955

输入样例2:

在这里给出一组输入。例如:

1,56
9

输出样例2:

在这里给出相应的输出。例如:

No number!
void fun(int *Num, int begin, int end, int digi,int *Count)
{
    int i,h,num;
    *Count=0;\\初始化
    for(i=begin;i<=end;i++)
    {
        num=0;
        if(i%digi==0)
        {
            h=i;\\初始化h的值
                if(h%10==digi)
                {
                    h/=10;
                    if(h%10==digi)
                    {
                        num++;
                    }
                    else
                    {
                        h/=10;
                        if(h%10==digi)
                        {
                            num++;
                        }
                    }
                }
                else\\说明最开始的个位不符题意

                {
                    h/=10;
                    if(h%10==digi)
                    {
                        h/=10;
                        if(h%10==digi)
                        {
                            num++;
                        }
                    }
                }
        }
        if(num!=0)
        {
            Num[(*Count)++]=i;
        }
    }
    
}
void printNum(int *Num,int Count)
{
    int i;
    if(Count==0)
    {
        printf("No number!");
    }
    else
    {
        for(i=0;i<Count-1;i++)
        {
            printf("%d ",Num[i]);
        }
        printf("%d",Num[i]);
    }
    
} 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值