1樓:網友
你的演算法有錯,第一處:由題可知應該定義為int或者long型別,第二處:必須是while(x!=0)才對,第三處:題目要你輸入的是整形數,而你數的是字元型了。
改正如下:#include
#include
void main()
int x,max; /定義兩個整數,其中x為輸入的數。max代表最大數*/
printf("輸入數字:");
scanf("%d",&x);
max=x; /假設第乙個為最大數,讓它和後面的相比*/while(x!=0) /結束標誌 。如果x==0就結束迴圈*/scanf("%d",&x);
if(x>max)
max=x;
printf("最大的數字:%d",max);
由題意:你所輸入的最後乙個數字必須是0.
我已經除錯過,正負都行,望樓主。
2樓:將臣
判斷條件錯了,把while裡的=改成!=
c語言 錯誤 按回車沒有反應
3樓:不願相離
1全部輸入語句錯誤,應該是scanf("%d",&ndigit[99]);
陣列下標是從0開始的。
c語言錯誤,能夠執行,但輸入數字按回車後沒有反應,是不是死迴圈?謝謝
4樓:網友
是死迴圈:while(n%i==0)//此處如果為真,則永遠為真。
j=j+1;
5樓:網友
for(i=2;i這條有錯,在while迴圈中n的值不變導致死迴圈。
c語言按回車沒反應
6樓:網友
把while後面的;去掉,你這樣是死迴圈。
這段c語言我按回車為什麼沒反應
7樓:網友
3全部輸入語句有問題:
scanf("%d ",&num[i]);
d之後不要有空格,改成。
scanf("%d",&num[i]);
8樓:關注
輸入的資料只有滿10個,才會有反應,這是你的**要求。
for(i=0;i<10;i++)
scanf("%d ",&num[i]);
c語言執行時按回車沒反應,只是換行了
9樓:網友
沒有反應的原因有很多種。比如錯誤輸入,型別錯誤,**邏輯錯誤。不同的情況應該分開分析。
例如 scanf("%lf %lf",&x,&e);
這樣的語句在回車後就沒有反應,必須輸入後才會有反應。
因為非輸出控制符必須原樣輸入。在scanf函式當中並不是控制符,這裡沒當成換行符使用。用scanf 不要加入「」非輸入控制符,系統在執行時會自動換行。
10樓:網友
把scanf("%lf %lf",&x,&e);的去掉改為scanf("%lf %lf",&x,&e);
另外,sat函式不用那麼複雜,可改為:
int sat(int n)
qin函式里面應該是q=q+x吧。
11樓:速凍族人
while (c!=0)//;去掉這個分號先,不然後面根本執行不了。
12樓:網友
scanf裡的東西除了%帶的格式控制以外,在輸入時其餘的必須照樣輸入,所以去掉/n應該就可以了。
建議:scanf裡除了%和它所帶的格式控制字元以外不要有別的東西,之間也不要用任何諸如逗號,空格之類的隔開,因為沒有隔開的話輸入的時候很自由,可以輸乙個按回車,也可以輸入乙個之後用逗號,空格,tab鍵將輸入的東西隔開,輸入完之後用回車結束就可以了。
c語言:求三個數的最大數 輸入三個值後,回車鍵,就沒反應了。
13樓:
scanf("%lf%lf%lf",&a,&b,&c);
double 用 %lf ,還用scanf()中不要用一些「",類似的東西,它表示你還要輸入它。
14樓:
這句改一下試試,你輸入三個數字的時候,數字和數字之間加個逗號。
scanf("%f,%f,%f",&a,&b,&c);
15樓:網友
把scanf("%f%f%f",&a,&b,&c);
這句裡面的刪去,你的問題就解決了。
還有你的main()函式應該定義乙個型別,這樣更好輸出要用%lf,要不會是一串亂碼。
c語言,判斷最大數的程式,**錯了,謝謝!
16樓:陳駿
錯在你把0賦值給max;你必須把輸入的數中的乙個數賦值給max,舉個例子,你輸入的十個數都小於零的數-1,-2,-3,-4,-5,-6,-7,-8,-9,-10.,那麼最後的max是之前賦值給它的0.而不是你輸入的最大數-1
17樓:孤獨一客人
很明顯嗎。
scanf("%f",&x);
if(x>max)
max=s; //這裡錯了 應該是max=x;
最後那句錯了。
改為printf("最大的數字:%f",max);
結果不是對的嗎,你設定的float型,所以輸出為為什麼會出現6個輸入數字是因為你的迴圈式6次你可以輸入乙個數字確定一下再輸也可以的(跟一次輸6個效果一樣)因為他們都是存在快取中,然後程式有需要就從其中有序的提取乙個數。
18樓:網友
我去,原來糾結這個問題。
每列印一次"輸入數字",你就輸入乙個數字,然後回車一共會讓你輸入n次。
也就是你第一次輸入的那個值,你輸入了6,後面還要輸入6次。
while(i<=n)
i++;這個while裡的n就是你輸入的6
所以這裡會迴圈6次。
19樓:殤酌
在學校裡學過,家裡沒有軟體,不好編。
但是,我感覺你這程式是錯的,比如:
max=s; s是什麼?哪來的?前面沒定義。
還有,我總感覺這程式錯的地方太多了,說不清楚具體錯在哪。
前面定義max=0,; 後面if裡面x>max, 感覺矛盾。 而且後面 i++。不懂 i 是什麼意思。
20樓:善羅綺
裡面有乙個變數錯了,max=s;應該改成max=x;
21樓:護戒之淼
把你的printf寫在迴圈外就ok了。
c語言求各位數字組成的最大數,C語言求各位數字組成的最大數
其實吧,這個程式的核心思路也可以換種說法 就是給一個數由大到小排列 這一點你做出來了。一起 一下,我們一步步順著來看看 先來分析一下你那1100變成1001的問題 我用實際的過程讓你看一下程式執行過程吧 接下來是剝位置統計個數j,這一點很好。注意當前陣列的位置 然後實現了一次迴圈之後 第二重迴圈m ...
編寫求陣列中最大數的子程式,組合語言哦!謝謝
以下子程式假設默陣列認放在ds段中,其中的資料為dw型。呼叫子程式前的引數設定 bx中存放陣列的起始偏移地址,cx中存放陣列的長度。呼叫子程式後,陣列的最大值放在cx中。array max push ax mov ax,bx 把陣列第一個數放到ax中 find cmp ax,bx 把ax中的數與陣列...
ip地址的最大數值是多少
1 在inter 裡,ip地址來是一個 自32位的二進位制地址,為了便於 記憶,將它們分為4組,每組8位,由小數點分開,用四個位元組來表示,而且,用點分開的每個位元組的數值範圍是0 255,如202.116.0.1。2 從數值範圍可以判斷最大值為255。3 ip地址按節點計算機所在網路規模的大小分為...