這是我對 ac 程式的嘗試,它解決了 collat??z 猜想我真的是 c 的新手,想知道為什么我的代碼不起作用
#include <stdio.h>
int main()
{
int num = 0;
int count = 0;
printf("Enter your number: ");
scanf("%d", &num);
while ("%d" != 2,num);{
if (num %2 == 0)
{
num = num / 2;
printf("%d", num);
count = count 1;
}
else
{
num = num * 3 1;
printf("%d", num);
count = count 1;
}
}
if (num == 1);
{
printf("%d", count);
}
return 0;
}
uj5u.com熱心網友回復:
你的語法是錯誤的。
while 中的條件應該是一個布爾條件,num變數應該不同于 1。我也編輯printfs以更具暗示性并為它們添加一個新行。我排除了最后一個if條件,因為它是多余的。當代碼完成while回圈時,num變數將為 1。
我認為你正在嘗試做的是:
#include <stdio.h>
int main()
{
int num = 0;
int count = 0;
printf("Enter your number: ");
scanf("%d", &num);
while (num != 1)
{
if (num %2 == 0)
{
num = num / 2;
printf("num = %d\n", num);
count = count 1;
}
else
{
num = num * 3 1;
printf("num = %d\n", num);
count = count 1;
}
}
printf("count = %d", count);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/359055.html
