从键盘输入两个数字,求在这两个数字之间有多少个数其各位数字之和为7。输出求得的个数。
例如10-100之间有7个数字,其各位数字之和为7。(分别为:16,25,34,43,52,61,70)
输入输出举例:
例1:
输入:10 100
输出:7
例2:
输入:100 10
输出:7
例3:
输入:10 9999
输出:119
输入
两个整数(用空格分隔)
输出
一个整数
输入样例
10 100
输出样例
7
提示
1、输入的数字采用长整形;
2、注意输入的两个数字之间用空格分隔;
3、可以是大数在前,也可以是小数在前;
#include <stdio.h>
main()
{
long int a, b, t;
int i, sum;
scanf("%ld %ld", &a, &b);
if (a > b)
{
t = a;
a = b;
b = t;
}
for (i = a; i <= b; i++)
{
do {
sum = 0;
sum = sum + i % 10;
i = i / 10;
} while (i != 0);
if (sum == 7)
printf("%d", i);
}
}
求大佬指正萌新错误 运行了但没结果
修改如下,供参考:
#include <stdio.h>
int main()
{
long int a, b, t;
int i, sum, cnt = 0;
scanf("%ld %ld", &a, &b);
if (a > b)
{
t = a;
a = b;
b = t;
}
for (i = a; i <= b; i++)
{
sum = 0; t = i;
do {
sum = sum + t % 10;
t = t / 10;
} while (t != 0);
if (sum == 7)
{
printf("%d ", i);
cnt++;
}
}
printf("\n%d", cnt);
return 0;
}