这道简单应用题不会,有会的没
功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。-------------------------------------------------------*/
#include<stdio.h>
main()
{
int m,n,k,i=0;
/***********SPACE***********/
for(m=100;m<=1000;m++)
{
/***********SPACE***********/
k=0;
n=m;
do
{
/***********SPACE***********/
k=k+n%10;
n=n/10;
}
/***********SPACE***********/
while(n>0);
if (k%15==0)
{
printf("%5d",m);i++;
/***********SPACE***********/
if(i%10==0) printf("\n");
}
}
} #include <stdio.h>
int main(void)
{
int c , d , e , i ;
for(c = 0 , i = 100 ; i < 1000 ; i ++) {
for(d = 0 , e = i ; e ; e /= 10) d += e % 10 ;
if(! (d % 15)) {
if(! (c % 10) && c) printf("\n") ;
else if(c % 10) printf(" , ") ;
printf("%3d" , i) ;
c ++ ;
}
}
}
编译、运行实况:
D:\\>x
159 , 168 , 177 , 186 , 195 , 249 , 258 , 267 , 276 , 285
294 , 339 , 348 , 357 , 366 , 375 , 384 , 393 , 429 , 438
447 , 456 , 465 , 474 , 483 , 492 , 519 , 528 , 537 , 546
555 , 564 , 573 , 582 , 591 , 609 , 618 , 627 , 636 , 645
654 , 663 , 672 , 681 , 690 , 708 , 717 , 726 , 735 , 744
753 , 762 , 771 , 780 , 807 , 816 , 825 , 834 , 843 , 852
861 , 870 , 906 , 915 , 924 , 933 , 942 , 951 , 960
D:\\> do……while循环是取m各个位数,然后把各个位数相加到变量k,跳出do……while循环后,进行if判断,如果k能对15取余等于0,说明k是15的倍数,就可以输出m,i自增1并判断有没有10个了,有就回车下一行。然后程序就可以进入下一次for循环
页:
[1]