求人幫我修改下幾個C語言程式!

2025-04-01 00:35:17 字數 1824 閱讀 7099

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函式的申明,卻沒有函式的主體,當...