#include <stdio.h>
int main(void)
{
int num1,temp,mod;
int count;
while(scanf("%d", &num1)!=0)
{
count = 0;
temp = num1;
while(temp!=0) //計算陣列所需空間
{
count++;
temp = temp/2;
}
int arr[count];
count = 0;
while(num1 != 0) // 將數字mod 2 的值放入陣列
{
mod = num1 % 2;
num1 = num1/2;
arr[count] = mod;
count++;
}
for(int i = count-1 ;i>=0;i--) //倒過來印
{
printf("%d",arr[i]);
}
printf("\n");
}
return 0 ;
}
#include
int main(void)
{
int num1,temp,mod;
int count;
while(scanf("%d", &num1)!=0)
{
count = 0;
temp = num1;
while(temp!=0) //計算陣列所需空間
{
count++;
temp = temp/2;
}
int arr[count];
count = 0;
while(num1 != 0) // 將數字mod 2 的值放入陣列
{
mod = num1 % 2;
num1 = num1/2;
arr[count] = mod;
count++;
}
for(int i = count-1 ;i>=0;i--) //倒過來印
{
printf("%d",arr[i]);
}
printf("\n");
}
return 0 ;
}
while(scanf("%d", &num1) == 1) {
// other
}
然後陣列一半就開個玩笑100格放在main外面就可以了吧
不用特別開剛剛好啦
#include
int main(void)
{
int num1,temp,mod;
int count;
while(scanf("%d", &num1)!=0)
{
count = 0;
temp = num1;
while(temp!=0) //計算陣列所需空間
{
count++;
temp = temp/2;
}
int arr[count];
count = 0;
while(num1 != 0) // 將數字mod 2 的值放入陣列
{
mod = num1 % 2;
num1 = num1/2;
arr[count] = mod;
count++;
}
for(int i = count-1 ;i>=0;i--) //倒過來印
{
printf("%d",arr[i]);
}
printf("\n");
}
return 0 ;
}
while(scanf("%d", &num1) == 1) {
// other
}
然後陣列一半就開個玩笑100格放在main外面就可以了吧
不用特別開剛剛好啦
AC通過了 非常感謝
我有個問題想問對於寫程式來說不浪費多餘的空間不是比較好嗎
放在main外面跟main裡面的差異在哪我也不是很清楚@@ 懇請大大開導一下 感謝
#include
int main(void)
{
int num1,temp,mod;
int count;
while(scanf("%d", &num1)!=0)
{
count = 0;
temp = num1;
while(temp!=0) //計算陣列所需空間
{
count++;
temp = temp/2;
}
int arr[count];
count = 0;
while(num1 != 0) // 將數字mod 2 的值放入陣列
{
mod = num1 % 2;
num1 = num1/2;
arr[count] = mod;
count++;
}
for(int i = count-1 ;i>=0;i--) //倒過來印
{
printf("%d",arr[i]);
}
printf("\n");
}
return 0 ;
}
while(scanf("%d", &num1) == 1) {
// other
}
然後陣列一半就開個玩笑100格放在main外面就可以了吧
不用特別開剛剛好啦
AC通過了 非常感謝
我有個問題想問對於寫程式來說不浪費多餘的空間不是比較好嗎
放在main外面跟main裡面的差異在哪我也不是很清楚@@ 懇請大大開導一下 感謝
當然愈省愈好是沒錯
但是程式的可讀性跟易邊寫性也是很重要的
另外
開在main裡面就會變成區域的陣列
有幾個壞處
1. 只有在main裡面才能使用
2. 在main裡能開的陣列大小不大 大概10000就會Re了 你可以自己試看看
還有問題也可以站內信問
加油