您的位置:首页 > 其它

本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5; 另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

2019-04-18 20:39 2759 查看

在这里根据PTA的一道简单的实验题来帮助我学习do{}while()语句。以及关于如何取得一个正整数的每一位的。

#include<stdio.h>
int is(int number);
void count_sum(int a,int b);
int main(){
int a,b;
scanf("%d %d",&a,&b);
if(is(a)) printf("%d is counted.\n", a);
if(is(b)) printf("%d is counted.\n", b);
count_sum(a,b);
return 0;
}
int is(int number){
int digital;
int sum1=0;
do{
digital=number%10;
sum1=sum1+digital;
number=number/10;
}while(number!=0);
if (sum1==5)
return 1;
else{return 0;}
}
void count_sum(int a,int b){
int count=0;
int sum=0;
int t;
if(a>b){
t=a;a=b;b=t;
}
else{
for(int i=a;i<b;i++){
if(is(i)){
count++;
sum=sum+i;
}
}
printf("count=%d,sum=%d",count,sum);
}
}

在这里是用的do{}while()的循环语句。具体格式为:
do
{
循环语句
} while (条件);
特点:循环体至少执行一次。

while和do-while的区别只是 while先判断条件是否成立 在进行执行,而do-while是先执行 再来判断条件是否成立。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐