解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:454 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1817 |
A+B for Input-Output Practice (III) (C语言代码)浏览:576 |
简单的for循环浏览:1411 |
剪刀石头布 (C语言代码)浏览:1755 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:549 |
Cylinder (C语言描述+详细分析)浏览:3266 |
数组与指针的问题浏览:718 |
妹子杀手的故事 (C语言代码)浏览:1055 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:771 |