解题思路:
注意事项:
参考代码:
#include <stdio.h>
int main()
{int num1(int m);
int num2(int m); //函数声明
int num3(int m);
int n,a=0,b=0;
scanf("%d",&n);
a=num1(n)+num2(n)+num3(n);
printf("%d",a);
}
int num1(int m)
{int i=1,j=0;
for(;i*7<=m;i++)
j++; //7的倍数
return j;
}
int num2(int m)
{int i,j=0;
for(i=7;i<=m;)
{if(i%7!=0)
{j++; //尾数是7 但不是7的倍数
}
i=i+10;
}
return j;
}
int num3(int m)
{int i=0,j=0,a=0,b=0,c=0;
for(i=1;i<=m;i++)
{if(i%7!=0&&i%10!=7)
{a=i/1000%10; //含7但不是7的倍数 尾数不是7
b=i/100%10;
c=i/10%10;
if(a==7||b==7||c==7) j++;
}
}
return j;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题8.4 (Java代码)浏览:788 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:913 |
C语言训练-最大数问题 (C语言代码)浏览:648 |
字符串对比 (C语言代码)浏览:1471 |
printf基础练习2 (C语言代码)浏览:322 |
C语言训练-排序问题<1> (C语言代码)浏览:636 |
兰顿蚂蚁 (C++代码)浏览:1160 |
C二级辅导-阶乘数列 (C语言代码)浏览:736 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:649 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:524 |