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 因此最後...