用C语言编写一段程序,计算并输出200-600中的数字要既能被7整除,又包含3的所有数字之和
4个回答
展开全部
代码如下,请参考。仅供一点思路,其实还有其他方法,也推荐楼主碰上这种问题自己多思考一下,不要一上来就问。
int i;
int hundred, ten, one;
int sum = 0;
for(i = 200; i <= 600; i++)
{
/* 能够被7整除 */
if(i % 7 == 0)
{
/* 判断是否包含3 */
/* 思路:整百的数目可以转化成 a * 100 + b * 10 + c的格式,其中a b c中有一个是3,则这个数里面包含3 */
hundred = i / 100;
ten = (i - hundred * 100) / 10;
one = i - hundred * 100 - ten * 10;
/* 上面也可以优化一下,只要任何一个是3,就不再往下计算了 */
if((hundred == 3) || (ten == 3) || (one == 3))
{
sum += i;
}
}
}
printf("\n%d\n", sum);
追问
谢谢,本人没学过C++,是替别人问的
追答
不客气
展开全部
void mian()
{
int i,tmp,sum;
sum = 0;
for(i= 200; i <=600; i++)
{
if(i%7 == 0)
{
tmp = i;
while(tmp != 0)
{
if(tmp %10== 3)
{
sum = sum+i;
break;
}
tmp = tmp/10;
}
}
}
printf("sum =%d",sum);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int has3( int n )
{
while( n )
{
if ( n % 10 == 3 )
return 1;
n/=10 ;
}
return 0;
}
int main(void)
{
int i,sum=0;
for( i=200;i<=600;i++ )
{
if ( i%7==0 && has3( i ) )
{
sum += i ;
}
}
printf("%d\n", sum );
return 0;
}
追问
谢谢!
追答
不客气
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int is7chu(int m );
int ishave3(int m);
int main()
{
int num = 0;
int sum = 0;
for(num =200; num <=700; num++ )
{
if ( is7chu(num) && ishave3(num) )
{
printf("%d \n",num);
sum += num;
}
}
printf("所有数的和为%d \n",sum);
return 0;
}
int is7chu(int m )
{
if (m%7 == 0)
return 1;
else
return 0;
}
int ishave3(int m)
{
int bai,shi,ge;
bai = m % 100;
ge = m % 10;
shi = (m-100*bai-ge)/10;
if (bai == 3 || ge == 3 || shi == 3)
return 1;
else
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询