

#include<stdio.h>
int main(){
int s,x,n,i,f;i=0;f=0;scanf("%d",&n);while (n) {s = n % 10;if (s!=4 && s!=7) {f=1;break;}if (s==4 || s==7) {x++;}n/=10;}while (x) {s = x % 10;if (s!=4 && s!=7) {f=1;break;}x/=10;}if (f){printf("NO");}else{printf("YES");}return 0;}
整体思路:
查看代码发现:
变量 x 没有设置初始值,应该将 x = 0;
最后面的if判断,也应该写全,if (f == 1)
回复不易,如果我的回复对你有所帮助的话,请记得采纳哦~
n要定义长整型?
试一下,我也不确定行不行
if (f)
printf("NO\n");
else
printf("YES\n");