作者antirazin (今年是日星來台年~真嗨)
看板TransCSI
標題Re: [問題] SOME PROBLEMS...
時間Thu Jul 12 14:58:44 2007
※ 引述《ahongyeh (小葉子)》之銘言:
: ※ 引述《antirazin (今年是日星來台年~真嗨)》之銘言:
: : 1.scanf()可以連續鍵入不同變數的值嗎?
: : EX: scanf("%d %d",&a,&b)
: : 2.float 和 double的差別?
: : 3.96中興資工那題從LIST裡面印出最大最小值那題有人會寫嗎?可以秀一下嗎?
: #include<stdio.h>
: #define MAX 100
: main(){
: int a[MAX],max,min,ch,i=0,j;
: printf("Please input numbers(split in space): ");
: do{
: scanf("%d",&a[i++]);
: scanf("%c",&ch);
: }while(ch==' ');
^^^^^^^^^^^^^^^^
這邊看不懂為什麼要這樣寫
是說雖然MAX等於100,可是如果這樣寫可以隨意輸入任意個數的值,
不用輸入100個值,
你的意思是這樣嗎?
不過看不懂ch的型態是int為什麼可以等於空字元=> ' '
: max=a[0];
: min=a[0];
: for(j=0;j<i;j++){
: if(a[j]>max) max=a[j];
: if(a[j]<min) min=a[j];
: }
: printf("The largest is %d, the least is %d.\n",max,min);
: system("pause");
: }
: 剛剛run過一次~~應該是沒錯~~
: 不過我發現在我考的時候有些小地方寫錯了... @@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.182.236
推 chingking:ch應該要宣告為char吧? 不然do/while只會做一次 07/12 19:49
→ chingking:這樣就可以輸入任意個數(用空白隔開&不超過MAX) 07/12 19:50
推 MrTang:樓上能解釋一下有什麼差別嗎?char和int int不是比較大嗎? 07/12 20:01
→ MrTang:多謝~~ 07/12 20:01
推 chingking:跟大小沒關吧~我沒記錯的話~空白在C/C++裡是當char處理 07/12 20:07
→ chingking:int是不能assign為空白的~假設這題(ch==' ')這行改成 07/12 20:14
→ chingking:(ch=='a')這樣每個數之間就要用a來隔開了~ 07/12 20:16
→ chingking:有問題可再提出討論~有錯誤也煩請指正~謝謝 07/12 20:17
推 ahongyeh:我想說的是~int型態可以assign為ASCII字元~空白當然可以! 07/12 20:49
→ ahongyeh:不然你可以編譯看看:int test=' ' 這樣子的宣告是無誤的~ 07/12 20:51
→ ahongyeh:因為它會將字元轉換成ASCII碼~~ 07/12 20:53
推 chingking:我懂意思了~感謝樓上~ 07/12 21:48