C语言求输入两个整数M和N(M,N都大于0小于10000,M<=N)求M,N之间偶数或者位中包含

的所以数的倒数和

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <malloc.h>
#include <iostream>
using namespace std;

int main()
{
int M,N;
while(scanf("%d%d",&M,&N)==2)
{
double sum = 0;
for(int i=M;i<N;++i)
{
if(! (i % 2) )
{
sum += i;
}
else
{
int flag = 0;
int temp = i;
while(temp)
{
if(temp % 10 == 3)
{
flag = 1;
break;
}
temp /= 10;
}
if(flag) sum += i;
}
}
printf("sum=%lf\n", sum);
printf("ans=%lf\n", 1/sum);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-07
不明白什么叫“位中包含的所以数”追问

位中包含3的所有数

追答

哦,那看看这个程序:
#include

int main(){
int d,i,m,n;
double sum=0.0;
printf("m n=?");
scanf("%d%d",&m,&n);
if(m10000 || m>n){
printf("Error.\n");
return 1;
}
for(i=m; i<=n; i++){
if(i%2==0){//偶数
sum+=1.0/i;
}else{
d=i;
while(d!=0){
if((d%10)==3)
break;
d/=10;
}
if(d!=0){ //含有3
sum+=1.0/i;
}
}
}
printf("\nsum=%.2lf\n",sum);
return 0;
}

相似回答