#include
void main() { int x;
scanf("%d",&x);
while ( 1 ) {
printf("%d ",x); if ( x==1 ) break; else if ( x%2 ) x=x*3+1; else x/=2;
}
printf("\n");
}
屏幕上应该显示
10
主要应该把视线放在x--上,因为后置的“自减”操作是先使用当前值参与本行的操作,然后再自减的。
BOF和
EOF都是用来判断文件的,如果文件指针在文件头部,则BOF返回1,如果在尾部则EOF返回1
#include
void main(){
int num;
printf("请输入一个正整数:");
scanf("%d",&num);
while(num<=1){
printf("必须输入一个大于1的数!\n\n");
printf("请输入一个正整数:");
scanf("%d",&num);
}
while(num!=1){
if(num%2!=0){
num=num*3+1;
}else if(num%2==0){
num/=2;
}
printf("n=%d\n",num);
}
}
#include "stdio.h"
int main()
{
int num;
printf("input num: ");
scanf("%d", &num);
while(num != 1)
{
if(num%2 == 0)
{
printf("%d is even, ops: /2\n", num);
num /= 2;
}
else
{
printf("%d is odd, ops: *3+1\n", num);
num = num*3+1;
}
}
printf("RESULT=1, END\n");
return 0;
}