c語言中的兩道題,C語言中的兩道題

時間 2022-04-20 15:17:05

1樓:

1.ac 2.c

2樓:

第一: a d

第二 d

關於c語言的兩道題 20

3樓:

//第一題

#include

int main()

int f1=1,f2=2,f3=3;

while(f3<233)

f3=f1+f2;

printf("%d ",f3);

f1=f2;

f2=f3;

return 0;

//第二題

#include

struct stu

unsigned int id;

double score;

}s[31];

int main()

int n=0,c1=0,c2=0,c3=0,c4=0,c5=0,i;

double sum=0;

doprintf("學號 成績\n");

n++;

}while(n<30&&s[n-1].id>=0&&s[n-1].score>=0);

if(n<30)n--;

for(i=0;isum+=s[i].score;

if(s[i].score<60)c1++;

else if(s[i].score<70)c2++;

else if(s[i].score<80)c3++;

else if(s[i].score<90)c4++;

else if(s[i].score<=100)c5++;

printf("不及格人數:%d 名單:",c1);

for(i=0;iprintf("\n平均分:%.1lf\n平均分及平均分以上的學生:",sum/n);

for(i=0;i=sum/n)printf("%d ",s[i].id);

printf("\n不及格:%.1lf%%  60-69分:%.1lf%%  ",c1*100.0/n,c2*100.0/n);

printf("70-79分:%.1lf%%  80-89分:%.1lf%% ",c3*100.0/n,c4*100.0/n);

printf("90-100分:%.1lf%%",c5*100.0/n);

return 0;

4樓:少年の俊

把你的需求說清楚。。。

c語言,兩道題

5樓:

4. d——x=y+z的結果是x==0,所以不執行printf("***");而執行else後的printf("###");。

5. a——if(x>y)後的三個語句沒有用{}括起來,造成有else無if錯誤,不能通過編譯。

6樓:匿名使用者

4和5 是吧, 你不是些對麼?

4 題     d

//viod 它也會返回 int, ()沒有引數它也可以, 早期c版本支援這樣寫,

if()裡是賦值運算,所以是條件為假.之後執行else語句, 結果肯定列印###

5題 a

//它沒有定要變數t, 這是致命的, 所以編譯通不過. 顯然答案a表述符合.

c語言 有兩道題

7樓:匿名使用者

第一題是沒有錯。沒有改變值啦。。應該要傳它的位址才會發生改變。。你直接傳值肯定不會交換啦。。!!

第二題答案是1.3.2。如果你不相信自己的,那你可以試一把。。!!

8樓:

汗。第二題輸出結果還是1,3,2。傳入的都是形參怎麼會改變值呢、

9樓:

你的兩個程式的函式,都是通過傳值,沒有傳位址,所以,不會對原值有改變;

第二題輸出結果是:1,3,2

要使原值發生改變,就要做傳位址,**如下:

#include

void swap(int *x,int *y)main()

兩道c語言題目

10樓:無法無天

1.for先執行第乙個賦值語句,因為第乙個賦值語句為空,不理,之後就判斷

10>5,進入迴圈i++,再執行第三個賦值語句++b=6,之後再開始判斷,再i++,再++b如此迴圈

當10>10時跳出迴圈,此時i=5

2.while(1<=x<=2)這個是死迴圈這樣的表示式為邏輯判斷,一步步的做出返回

先(1<=x)返回0或1

然後再判斷(1<=x)<=2,返回0或1

所以返回值永遠是1,所以是死迴圈

如果要寫成判斷,改為while(x>=1 &&x<=2)

11樓:夢_越

題目一:理解一下for迴圈執行的方式,三個引數,第乙個是定義值,第二個執行迴圈需要滿足的條件,第三個是迴圈結束後執行的動作. 此題雖然是++b, 但是++b是在執行完迴圈之後進行的,所以首次迴圈判斷條件a>b是10>5; 這樣得出i=5就好理解了

題目二:這個要認真看下, 因為整個程式中沒有對x值進行改變,x始終為3(可以在迴圈最後一行打出來看看),故為死迴圈. y = x--; 這一行是對y賦值,x是不變的,呵呵

c語言中一道題,C語言中一道題

您好!上面的表示式結果應該不是16吧 如果是16的話5 7應該用括號括起來,否則整個式子只是乙個邏輯判斷。那麼結果應該是1 因為 號 兩邊分別是兩個整體,當以 d的格式輸出結果時,左邊不小於右邊即判斷結果為假輸出0,如果小於即判斷結果為真時輸出結果為1 c語言中零是假 非零就是真用1表示 如果5 7...

c語言中 bool的用法,C語言中 bool的用法

布林型 bool 變數的值只有 真 true 和假 false 布林型變數可用於邏輯表示式,也就是 或 與 非 之類的邏輯運算和大於小於之類的關係運算,邏輯表示式運算結果為真或為假。bool可用於定義函式型別為布林型,函式裡可以有 return true return false 之類的語句。布林型...

關於c語言中scanf的問題,關於C語言中scanf的問題

scanf後面的 f格式,必須與輸入格式相一致 按您的輸入,中間用逗號,與scanf中 f之間格式不符,結果只接收了第1個變數,後面沒接收,因而是零 有的編譯器會是隨機數 正確寫法 1 如果 scanf中 f之間用空格,即 scanf f f f a,b,c 應該輸入1 2 3 中間有空格 2 如果...

c語言中的二維陣列問題,c語言問題 c語言中二維陣列在記憶體中怎樣儲存?

目的是將緩衝區中輸入流中資料清除,可以使用 fflush stdin 清除資料 gets函式會把前面在scanf函式的輸入結束符即回車當做第乙個字串資料的結束符接收,因此不加gets s 就會導致資料個數少乙個。當然使用gets s 會提前接收了回車,因此也是起到同樣的作用。你程式函式中有個錯誤,p...

c語言中eof的用法,c語言中EOF的用法

eof其實是整數 1,用於從檔案讀取資料的時候表示已經超越檔案末尾這種錯誤狀態。如果io操作的結果是eof,一般就意味著這次io是失敗的。eof一般作為檔案的結尾標記。其值是 1,在c語言中的標頭檔案stdio.h中定義如下 end of file constant definition defin...