第 1 頁 (共 2 頁)
發表於 : 週四 12月 06, 2001 7:20 am
由 小邪
應該是2進位算他的1在哪可以換成10進位
10進位用(*除法)的方法可以找到2進位
ps * 那是忘了叫什麼東西...跟除法有關的
發表於 : 週四 12月 06, 2001 7:16 am
由 小邪
八跟二進位差3倍
16跟二進位差4倍
10進位算他的1在哪就可以換成2進位
發表於 : 週四 12月 06, 2001 12:17 am
由 純血
想不通啦...
不 import 任何 class
純用計算, 如何將輸入的 2 進位數, 化成 10 進位 ?
不限輸入多少數位
我是連如何判定是否 2 進位都弄不好啦 .....
正常的輸入 2 進位還可以
輸入 10 進就不行 ......
發表於 : 週三 11月 28, 2001 11:45 pm
由 xmask
在 2001-11-28 14:28, yuching 寫了:
在 2001-11-28 13:08, lksodin 寫了:
while(y!='q'){
while 是先判斷後執行 這時候Y初值還沒輸入
編譯不會有問題嗎?? @@
不會啦...有看到變數y嗎
因為程式必須scan到變數不等於q的時候才會終止迴圈......因此在還沒有輸入變數y的時候...
迴圈並不會終止.....
此時就會跑到要求輸入變數y的那一行....
沒錯~ccc
while(condition) 或是 if(condition)
中的條件判斷值是只要
"非零"就算是成立了
發表於 : 週三 11月 28, 2001 5:42 pm
由 純血
倒, 原來大家都這麼行 ...
我有問題還是到這裡發問就好了 ....
發表於 : 週三 11月 28, 2001 2:28 pm
由 yuching
在 2001-11-28 13:08, lksodin 寫了:
while(y!='q'){
while 是先判斷後執行 這時候Y初值還沒輸入
編譯不會有問題嗎?? @@
不會啦...有看到變數y嗎
因為程式必須scan到變數不等於q的時候才會終止迴圈......因此在還沒有輸入變數y的時候...
迴圈並不會終止.....
此時就會跑到要求輸入變數y的那一行....
發表於 : 週三 11月 28, 2001 1:08 pm
由 lksodin
while(y!='q'){
while 是先判斷後執行 這時候Y初值還沒輸入
編譯不會有問題嗎?? @@
發表於 : 週三 11月 28, 2001 9:36 am
由 kurby
昏倒.....
看不懂.....
好難......................
發表於 : 週三 11月 28, 2001 4:05 am
由 yuching
貼一下那時候我們計概期中考的題目
九九乘法表加上萬年曆
其中每行後面是程式語言的註解....
夠嚴格了吧....我們老師超狠的....
#include <stdio.h> /*標頭檔*/
int Table99(); /*選項一的程式宣告*/
int PrintCalendar(); /*選項二的程式宣告*/
/*主程式開始*/
main() /*主程式宣告*/
{
int num; /*變數宣告*/
char y; /*變數宣告*/
while (num!=3) /*當所輸入的值為3時就停止迴圈*/
{
printf("nn 歡迎使用本程式 n");
printf(" 選項1:九九乘法表 n
選項2:實用的萬年曆 n
選項3:跳出 n");
printf("請選擇 1~3 >"); /*輸入提示*/
scanf("%d",&num); /*將input放在num中*/
if (num==1) /*若所輸入的值為1則執行九九乘法表*/
while(y!='q'){ /*若是按'q'則停止列印九九乘法表*/
{printf("n");
Table99();}
scanf("%c",&y);} /*將所按的字元放到y中*/
if (num==2) /*若所輸入的值為2則執行萬年曆*/
{printf("n");
PrintCalendar();}
if (num==3) /*若所輸入的值為3符合迴圈終止條件*/
printf("n *****謝謝使用***** nn");
if(num!=1 && num!=2 && num!=3) /*若所輸入的值不是1或2或3,則要求重新輸入*/
printf("nn***你的輸入錯誤,請重新輸入*** n");
}
}
/*選項一的程式開始*/
int Table99()
{
int i,j,k; /*變數宣告*/
printf("n");
printf(" 請先按'q'再按'ENTER'即可結束nn");
for(i=1;i<=9;i=i+5) /*外面大的迴圈.並讓其下一次列印是從第6開始*/
{
for(j=1;j<=9;j++) /*每給一個j值都執行9次才結束*/
{
for(k=i;k<=i+4;k++) /*每給一個i值都執行5次才結束*/
{if (k==10) /*由於是i值一次是跳5,因此要將10排除*/
break;
printf("%2d*%2d=%2d ",k,j,k*j); /*將九九乘法表印出*/
}
printf("n");
}
printf("n");
}
}
/*選項二的程式開始*/
int PrintCalendar()
{
int day,leap,d,i,l,j,k,year,month,mon; /*變數宣告*/
char x; /*變數宣告*/
printf("請輸入西元幾年 > "); /*提示輸入格式*/
scanf("%d",&year); /*讀入年份*/
printf("請輸入1月1日為星期幾.... > n");
printf("若為星期一則輸入1,星期二則輸入2,....星期日則輸入0 >n");
scanf("%d",&day); /*讀入1月1日為星期幾*/
printf("nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn");
printf("n 在每個月之後請按'ENTER'繼續,若要結束請在12月之後先按'q'再按'ENTER'nn");
/*判斷是否為閏年*/
if(year%4==0) /*若是能被4整除則回傳leap值為1*/
{
leap=1;
if(year%100==0) /*若是能被100整除則回傳leap值為0,除非其亦能被400整除才回傳1*/
{
leap=0;
if(year%400==0)
leap=1;
}
}
else /*若不是上述各種情形則回傳leap值為0*/
leap=0;
while(x!='q') /*迴圈會繼續下去,除非按'q'鍵*/
{
for(month=1;month<=12;month++) /*月份從1月開始每繞一次即加1,直到其等於12為止*/
{
printf("n %d月 n",month); /*列印月份標頭*/
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~ n");
printf(" 日 一 二 三 四 五 六 n");
for(i=0;i<=day-1;i++) /*判斷要從星期幾開始印,若小於所輸入之day值就一直印空白*/
{
printf(" ");
}
if(leap!=0&&month==2) /*若為閏年且月份為2,則d(即天數)為29天*/
d=29;
if(leap!=1&&month==2) /*若不為閏年且月份為2,則d(即天數)為28天*/
d=28;
if(leap==1&&month!=2&&month!=4&&month!=6&&month!=9&&month!=11)
d=31; /*若為閏年且不為2月,亦不為4,6,9,11月則天數為31天*/
if(leap==0&&month!=2&&month!=4&&month!=6&&month!=9&&month!=11)
d=31; /*若不為閏年且不為2月,亦不為4,6,9,11月則天數為31天*/
if(leap==0&&month!=2&&month!=1&&month!=3&&month!=5&&month!=7&&month!=8&&month!=10&&month!=12)
d=30; /*若不為閏年且不為2月,亦不為1,3,5,7,8,10,12月則天數為30天*/
if(leap==1&&month!=2&&month!=1&&month!=3&&month!=5&&month!=7&&month!=8&&month!=10&&month!=12)
d=30; /*若不為閏年且不為2月,亦不為1,3,5,7,8,10,12月則天數為30天*/
for(j=1;j<=d;j++) /*控制幾日,其上限即為天數*/
{
if ((day+j-1)%7==0) /*幾號加上之前所輸入由星期幾開始的數字若能被7整除即換行*/
{
printf("n");
}
printf("%4d",j); /*印出幾日*/
}
day=(day+j-1)%7; /*將最後除7後所得之餘數即下個月要從星期幾開始印*/
scanf("%c",&x);} /*和開始之while回應,scan一個x,再由while判斷是否中斷 */
}
}
發表於 : 週三 11月 28, 2001 3:34 am
由 雪馬
謝謝xmask的提點^^
ps- ("&d".&a) 是我一時大意啦~~~lololol
發表於 : 週二 11月 27, 2001 9:34 pm
由 xmask
在 2001-11-27 21:22, 雪馬 寫了:
第5題
#include <stdio.h>
void main ()
{
int a,b;
printf ("請輸入年份");
scanf ("%d".&a);
if (a%4==0)
pritnf ("你輸入的是閏年");
else
printf ("你輸入的不是閏年");
}
寫程式的時候如果沒有return value的時候main(void)會比較嚴謹一點,可以避免不可預期的錯誤,而scanf ("%d".&a);應該要寫成scanf ("%d",&a);才對........還有請記住一件事"縮排"可以增加程式的可嬝版吽C
發表於 : 週二 11月 27, 2001 9:22 pm
由 雪馬
第5題
#include <stdio.h>
void main ()
{
int a,b;
printf ("請輸入年份");
scanf ("%d".&a);
if (a%4==0)
pritnf ("你輸入的是閏年");
else
printf ("你輸入的不是閏年");
}
發表於 : 週二 11月 27, 2001 4:55 pm
由 xmask
在 2001-11-27 16:32, NICKHON 寫了:
哈棒大絕招
你去問他吧~說不定他也會要你哈喔ccc
發表於 : 週二 11月 27, 2001 4:32 pm
由 NICKHON
發表於 : 週二 11月 27, 2001 3:48 pm
由 xmask
在 2001-11-27 06:21, NICKHON 寫了:
ㄜ.......叫他寫自動爆頭程式我看還差不多-.-
等一下要考無線網路了...惡補一下@@
_________________
偶宿Nick[N.P.C]
ICQ:70583895
~~NPC潛水會長~~
<font size=-1>[ 這篇文章被編輯過: NICKHON 在 2001-11-27 06:23 ]</font>
你說錯嚕~今天他一直想寫出""哈棒程式""怪怪的他............他最近愛上了克拉克的哈棒大絕招