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...