#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int h=0;
while(n>1){
int m=n%2;
if(m>0){
int n=((3*n)+1)/2;
h++;
}else{
n=n/2;
h++;
}
}
printf("%d",h);
return 0;
}
程序如上,a.c: In function ‘main’:
a.c:5:4: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n)
求解决方法
代码有一个问题:
int n=((3*n)+1)/2; //这里不需要再定义一次
你输入的值必须是int型的, 否则类型不匹配就会报错。