问题描述 :
一个整数,只知道前几位为a,不知道末二位,被另一个整数b除尽了(即没有余数),那么该数的末二位该是什么呢?
程序已完成主体框架,请完成以下函数getResult的函数体。
getResult的功能为:
根据传入的参数a和b,求出所有符合条件的末二位(尾数)放入数组weishu中,数组weishu按升序排列。函数返回符合条件的尾数个数。
部分代码如下(或下载附件prog_re.zip):
//以下代码可自行修改成C++代码
#include <stdio.h>
int getResult(int a, int b, int weishu[])
{
//请完成此函数
}
int main()
{
int a, b, weishu[100],count,i;
scanf("%d%d", &a, &b);
count=getResult(a,b,weishu);
for(i=0; i<count; i++)
{
if (i>0)
printf(" ");
printf("%02d", weishu[i]);
}
printf("\n");
return 0;
}
输入说明 :
输入两个整数a,b(0<a<10000, 10<b<100)
输出说明 :
将满足条件的所有尾数在一行内输出,格式见范例。两个尾数之间空一格,行首与行尾没有空格。
输入范例 :
1 12
输出范例 :
08 20 32 44 56 68 80 92
完整C++代码
之前写过类似的东华OJ 基础题23 整除的尾数,大同小异
#include <bits/stdc++.h>
using namespace std;
int getResult(int a, int b, int weishu[]) {
int count = 0;
for (int i = 0; i < 100; i++) {
if ((a * 100 + i ) % b == 0) {
weishu[count++] = i;
}
}
sort(weishu, weishu + count);
return count;
}
int main()
{
int a, b, weishu[100], count, i;
scanf("%d%d", &a, &b);
count = getResult(a, b, weishu);
for (i = 0; i < count; i++) {
if (i > 0)
printf(" ");
printf("%02d", weishu[i]);
}
printf("\n");
return 0;
}
😋欢迎大伙私信或者评论区交流讨论😋