ACM基础题 输出没问题 网站提交是错误的 求指出问题

img

img


#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;
}

整体思路:

  • 判断数字是否由4和7组成
  • 判断次数是否由4和7组成

查看代码发现:
变量 x 没有设置初始值,应该将 x = 0;
最后面的if判断,也应该写全,if (f == 1)

回复不易,如果我的回复对你有所帮助的话,请记得采纳哦~

n要定义长整型?

试一下,我也不确定行不行

    if (f)
        printf("NO\n");
    else
        printf("YES\n");