誰會這道C語言題目?求高手解答。

2025-02-12 12:10:01 字數 4053 閱讀 6920

1樓:水水

#include

int main()

for(int a=9;a>0;a--)100元最多有9張,最少一張。

for(int b=19;b>0;b--)50塊最多19,最少一張。

for(int c=49;c>0;c--)20塊最多49張,最少一張。

for(int d=99;d>0;d--)10最多99張,最少一張。

if(a*100+50*b+20*c+10*d==1000)//面值總額為1000時輸出。

printf("一百元有%d張,五十元有%d張,二十元有%d張,十元有%d張",a,b,c,d);

事實上50塊的,20塊的,10塊的張數要高分別少於19,49,99,因為各種面值的鈔票張數都不為0

2樓:網友

#include

main()

int a,b,c,d;

for(a=0;a<=10;a++)

for(b=0;b<=20;b++)

for(c=0;c<=50;c++)

for(d=0;d<=100;c++)

if(a*100+b*50+c*20+d*10==100)printf("一百元有%d張,五十元有%d張,二十元有%d張,十元有%d張",a,b,c,d);

幾道c語言問題

3樓:

a++語句執行的次數為什麼是4?——不是4,而是0。

2.看不懂4*(i>3)這段——當i為時,4*(i>3)=4*0=0;而當i為時,4*(i>3)=4*1=4。

3.為什麼最後答案是3?——看見了吧?

while(n++<=2);後面有個分號!所以當n<3時是不執行printf("%d",n);的,只有當n增加到3時,while迴圈停止,才執行printf("%d",n);印出3來。

4樓:匿名使用者

第1題a++沒有執行, 可能是你的程式有其他錯誤, 因為while裡面不為真。

第2題4*(i>3) 就是先判斷i是否大於3,如果大於3就是真,轉換為int型別就是1,如果小於3就是假,轉換為int型別就是0, 在c語言中會有型別轉換,布林型別轉換為整型不需要強制轉換。

答案為什麼是-404432因為,當i=1時, a[1]=-4, 當i=2時, a[2]=0,等等(這個你可要自己計算一下), 而你定義的a陣列只有6個元素,陣列是從0開始的,所在只到a[5],沒有a[6]

第3題因為while(n++<=2);這句多了乙個" ; " 符號。

這道c語言題怎麼做?

5樓:ylf塵風

第乙個輸入語句。

c的意思是讀取乙個字元,也就是1

第二個輸入語句。

d是讀取乙個整數,1已經被讀取了,也就是23,後面的為什麼不會被讀取呢,因為遇到了空格。

第三個輸入語句。

s是讀取字串(1個或多個任意字母、數字等),也就是456,由於遇到空格不再讀取,後面的789被忽略了。

所以最終執行結果為1,23,456

6樓:網友

這個與標準輸入輸出有關,標準輸入(如鍵盤、滑鼠等)將輸入資訊流輸入到輸入流stdin中,stdin的型別應該是file *的,不確定,只是按照經驗分析一下,因此stdin中的內容和從檔案中讀取123 456 789是相同的。首先用scanf讀取乙個%c的變數,%c是字元,在記憶體中乙個位元組,因此讀到1,然後讀取%d也就是int型的變數,它是4個位元組,但是scanf函式遇到空格鍵就停止讀取了,因此只能讀取到23,後邊就不說了吧。。相信你已經懂了,你也可以試試用gets()讀取下字串瞭解下它與scanf的區別。

7樓:漫步在網路中的天玉

請輸入電腦執行一下就知道了,謝謝。

8樓:御駕親征

空格空格123456789 123空格456空格789

這道題怎麼做呀c語言

9樓:網友

因為x>y這個條件不滿足,所有的if else語句都沒有執行。

x++處,先輸出x的值,再x+1。

所以先輸出1,再x+1.

10樓:程浩宇

怎麼乙個分號都看不到呢?

這道c語言題應該怎麼做!

11樓:

結果是10吧。

首先k=2時,s=1,j=k=2的話,第二層迴圈,s=1+2+3+4+5=15;

結束第二次迴圈。

然後k++,k++之後,k=4,進入第二層迴圈,s=1(s被重新賦值了),j=4開始,s=1+4+5=10;

結束第二次迴圈。

最後k++,k++之後,k=6不符合第一層迴圈條件,結束全部迴圈,執行printf語句10

12樓:網友

答案是6

雙重迴圈裡面相當於只執行了。

s=1for(j=5;j<6;j++)

s+=j;結果就是6了。

一道c語言題目

13樓:網友

這段程式的意思就是把乙個字串的第乙個字元放到最後位置。

因為要把後乙個字元(str[i+1])賦給本輪的字元(str[i])所以需要檢測後乙個字元是不是結束符(str[i+1]!=0)

如果str[i]!=0,這樣就會下標越界了。

14樓:網友

注意下文的語句,把str[i+1]賦給了str[i]

我覺得這和題目意思有關,它想str這個字串中的0去除,你可以自己寫個數,就知道拉。

比如12345

15樓:網友

因為字串以0作為結束符,當然,你是看不到它的,str[i+1]迴圈至最後一位字元,即結束符前一位就停止,即str[i+1]!=0,此時str[i]是倒數第二個字元。str[i+1]!

0這是判斷迴圈是否繼續的條件,不是從str[1]開始。

16樓:網友

因為ch=str[0];

這個程式本來就是要將最前乙個字母移至最後,有了上面這一句後,自然就從str[1]開始,str[i]=str[i+1]; //注意是str[i]的i從0開始,i+1從1開始,使得str[0]=str[1],str[1]=str[2]……就是將後面的字母前移了。

最後加上第乙個字母,最後實現了將最前乙個字母移至最後~~~

17樓:網友

真是菜鳥,不可能有越界的情況發生!

一道c語言的題,題目如下:

18樓:網友

陣列佔用的位元組是10個。

乙個short佔兩個位元組,即sizeof(short) = 2short x[5]表示定義乙個陣列,元素個數為5,即表示5個short型別資料。

初始化1,2,3 只對前3個元素進行了初始化,後面兩個未初始化預設為0

因此佔用的大小就是陣列申請空間的大小 5 * 2 = 10

19樓:網友

short佔兩個位元組,short x[5]就佔10個位元組。

20樓:網友

陣列定義多大。不管你附不付值都是那麼大。。這是陣列的一大缺陷。

一開始定義a[100].他就定了。。不管你給它複製多少。。

永遠是那大。不會你少賦值。就把記憶體縮小。

這道c語言題目錯**了??

21樓:網友

case '1':..

case '2':..

.而不是。case 1:..

case 2:..

或者修改成下面這樣。

#includeint main() 還有不懂歡迎繼續提問。

22樓:網友

#include using namespace std;int main()

這樣就可以了,把char改為int就行。

C語言程式設計題目,求大佬解答,c語言程式設計題目,求大佬解答

圖1的1,2題 include double fact double n int main include include double fact int n int main printf n 2f y return 0 圖2 的一題 include include define e 2.718 ...

誰會做這個c語言題目,誰會做這個C語言題目?

int main void 結果是250 0xa5的二進位制就是1010 0101 如果變為int就是0000 0000.1010 0101取反之後就是1111 1111.0101 01014 1等於5,的優先順序高於 所以對上式右移5得到1111 1111.1111 1010轉換為unsigned...

c語言題目,求解答,C語言題目求解答。!!

c語言中的switch的執行策略是,按照順序匹配case,如果匹配上了,會一直執行該case後面所有的語句,除非遇到break或者到達switch結束。因此在這道題裡面,x 1,匹配上了case 1,執行了a 但是case 1後面並沒有break,所有會繼續這些case 2的語句,即a b 因此最後...