1樓:網友
第一小題:你的y定義的int型的麼?但是你計算的結果不是吧,應該會出錯的。
2樓:網友
看2樓已經給你答案了。
簡單c語言,這個程式的問題在哪?十分感謝!
3樓:聽不清啊
原程式就一處錯誤。請把else if(b[j]=b[j+1])改為else if(b[j]==b[j+1])就可以了。
其實,這個程式可以簡化如下:
#include
int main()
scanf("%d",&n);
for(j=a[i]; j; j/=10)b[i]+=j%10;
for(i=0; ifor(j=0; jif(b[j]a[j+1]){t=b[j];
t1=a[j];
b[j]=b[j+1];
a[j]=a[j+1];
a[j+1]=t1;
b[j+1]=t;//氣泡排序。
for(i=0; iprintf("%d %d",a[i],b[i]);
關於c語言的問題!
4樓:法拉克的
按照電腦的思維邏輯,答案應該是a。
存在乙個資料對齊與取捨問題。
總之,絕對不是b【雖然b才是正確結果】。
原因:整型資料的乘除運算自動取整。浮點數精確計算。化為值運算之後為2+
再次進行加減運算,再次向整型數字強制轉換 相當於 int(2+2+ = 14
所以結果應當是a,如果編譯器預設將後面的數字轉換為float型別,則結果為 當前答案中沒有正確答案。
c語言求教
5樓:
k的賦值是乙個運算表示式。
+a<=0)是真,所以是1
b--<0)是假,而前面還有個!是非,非0就是1;
因為&&兩邊都是真,為1,所以k=1
6樓:網友
因為最後k為真,也就是1;
因為:++a<=0//+在前代表先自加再判斷,所以為真;
b--<0)這個也為真;
所以真真為真,最後結果k=1
c語言求教
7樓:roger百年孤獨
8,10,16
以0開頭的是八進位數,j 是十進位數,0x開頭的是十六進位數,最後要求全部用十進位輸出,所以選a
8樓:網友
量i初始化為010,最高位的0表示它是八進位數,而八進位的10就對應10進位的8
c語言求教
9樓:楓若神明
main只是開發工具所規定的乙個特殊函式名稱而已。它既不是程式的入口,也不是必須要有的函式。
程式的入口點記錄在可執行檔案中的乙個資料,該資料標明程式從哪個位置開始執行,這個資料是連線程式的時候由確定的,可以把程式的入口點指定為任意函式,甚至可以自己可執行檔案修改程式的入口點。在預設情況下,會連線開發工具中帶有的乙個obj檔案,並設定該obj中的固定函式為程式的入口點,這個函式執行後會做一些初始化的事情,然後呼叫main函式。在執行連線的時候,如果不連線這個obj,程式中就可以沒有main函式。
如果是初學者的話,對於main,它就是乙個特殊的預設規定,沒有什麼特別的淵源於歷史,只是一開始預設這樣了,就一直這樣了。
10樓:亞馬遜選品管家
main是程式的入口函式,用來確定從哪行**開始執行,要不然程式怎麼執行呢?從哪開始呢。
C語言程式修改,C語言程式修改
void max int a 3 4 int b 4 如下,註釋的地方就是修改的地方 include void max int a 3 4 int b 4 int main int b 4 i,j for i 0 i 3 i max a 3 4 b 4 max a,b for i 0 i 4 i p...
把c語言程式翻譯成c,幫我把c語言程式改為c
基本上沒啥變的 就是標頭檔案改一下 輸入輸出 變一下 用cin cout include define n 20 define m 5 using namespace std void main table m n char flag,f n cout 請輸入頁面訪問序列 ym i cout 0 j...
C語言幾個簡單程式符號 20
c語言幾個簡單程式符號 第乙個的寫法是錯誤的 printf 裡面的 d代表乙個變數,必須與後面的變數名一一對應,printf d c printf d,d a,b 其中第乙個 d代表a,第二個 d代表b 所以如果a ,b 的話 那麼它輸出的就是, 最後一段 只有max函式的申明,卻沒有函式的主體,當...