实验课小练手
题目:输入两个整数a<b,求a~b之间(含a和b)个位数与十位数的和为8的整数之和。
为啥九分?
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int a,b,i,sum;
scanf("%d%d",&a,&b);
sum = 0;
for(i = a;i <= b;i++)
if(i%10+(i/10)%10==8)
{
sum += i;
}
printf("%d",sum);
return 0;
}
我跟优皇都是9个经验,有点纳闷,老师一语中的
输入-8 8试试?
得出答案 8
emmmmmm
我有点懵逼,因为没考虑负数的事,话说负数有个位十位的说法吗?有空再仔细了解一下
看样老师的意思是有,所以稍加修改:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int a,b,i,sum;
scanf("%d%d",&a,&b);
sum = 0;
for(i = a;i <= b;i++)
if(abs(i%10+(i/10)%10)==8)
{
sum += i;
}
printf("%d",sum);
return 0;
}
键入-8 8得0
键入-17 8得-17
嗯,这次应该对了,所以说以后读题,考虑题目一定要仔细,不能先入为主,考虑多种情况~~