A. c語言,求解,謝謝了 計算時為什麼'o'代表一個數
這里『0』不是代表一個數,如果其代表一個數,那麼ch1、ch2也應該是數值型,因為它們在做算數運算,在ch1、ch2沒有經過強制類型轉換的情況下類型應該一樣。可是你要明白getchar()返回值的類型為字元型,所以『0』為字元。ch1或者ch2字元與『0』字元做減法的值應該是它們之間的ASCII值之差
B. c語言問題,為什麼返回值是111,不是0
你的strcmp寫亂套了。你用的是遞歸結構,所以return 0;後不可能回到主調函數,而是返回到上次調用的那裡(p2++;後面的調用中)。但是,遞歸調用前又對p1、p2進行了++處理,這就有問題了,因為返回後就不是這一次調用前的「現場」了。單從遞歸正確寫法說,應該把p1++;和p2++;刪除,而把strcmp(p1,p2);改為strcmp(p1+1,p2+1);——但即使這樣改了也不能達到目的,因為邏輯還有問題。其實這代碼完全可以寫得簡單明了:
intstrcmp(char*p1,char*p2)
{
while(*p1==*p2&&*p1)
p1++,p2++;
return*p1-*p2;
}
C. c語言中,為什麼強制類型轉換float(111)為111.000000
事實上你如果在printf里用%f輸出浮點的話,默認的小數部分永遠有6位,這只是輸出小數的慣例罷了,根本沒有深究的必要,如果你覺得一串0看起來不舒服,可以用%g或者%a.bf之類的格式控制小數顯示的位數,如果希望依靠語言本身來確定計算是否精確,那麼還是放棄這種想法吧。另外說一句,float(111)是c++才支持的格式,如果用的純c還是用括弧打在類型上的比較好。
D. c語言數列求和
其實這個題目根本不用求出S,也不用擔心它會超出int范圍。
因為是數列,所以就要從數列規律上去找結果。
比如a=1,n=5,s=3.列豎式
1
11
111
1111
11111
------
12345
後3位是345.
個位是5,它是怎麼計算出來的?a*n
十位是4,怎麼算出來的?a*(n-1)+個的進位(如果有)
百位是3,怎麼算出來的?a*(n-2)+低位的進位(如果有)
照這個規律,根本不用計算S。
定義一個數組int sm[10].sm[0]保存個位,sm[1]保存十位數字就行了,。。。
我沒有寫出完整的程序,只是給你一個思路。自己理解一下,很好寫出代碼。遇到問題請教是好事。
E. c語言豎式問題
你看例題,就是775*33這個乘法豎式中,每一步計算(abc*e,abc*d,相加最後的結果)得到的數字都屬於2,3,7,5這個數字集合,沒出現其它數字
F. c語言,算式算術問題,急,求大佬,
/*
算式是:
S E N D
+ M O R E
――――――
M O N E Y
答案是:
9567
+1085
------
10652
*/
//想要完整源碼的話,先跑一下下面這個,就知道該怎麼做了!
#include<stdio.h>
#include<stdlib.h>
int main()
{
char msg[]={119,111,32,100,101,32,119,101,105,32,
120,105,110,32,104,97,111,58,109,105,99,
114,111,115,111,109,101,'\0'};
puts(msg);
system("PAUSE");
return 0;
}
G. 分數數列求和 (c語言程序)為什麼答案不對啊
其實這個題目根本不用求出s,也不用擔心它會超出int范圍。
因為是數列,所以就要從數列規律上去找結果。
比如a=1,n=5,s=3.列豎式
1
11
111
1111
11111
------
12345
後3位是345.
個位是5,它是怎麼計算出來的?a*n
十位是4,怎麼算出來的?a*(n-1)+個的進位(如果有)
百位是3,怎麼算出來的?a*(n-2)+低位的進位(如果有)
照這個規律,根本不用計算s。
定義一個數組int
sm[10].sm[0]保存個位,sm[1]保存十位數字就行了,。。。
我沒有寫出完整的程序,只是給你一個思路。自己理解一下,很好寫出代碼。遇到問題請教是好事。
H. c語言一豎什麼意思啊 111111111111111
|是位運算符,按位或的意思咯!要轉換成二進制來算
如0|1=1,1|0=1,0|0=0,1|1=1;10|01=11,11|10=11……等等
||呢,是邏輯運算符啊。假如
a=1,b=2,那a||b=true,就是真的意思
a=0,b=2,那a||b=true
a=1,b=0,那a||b=true
a=0,b=0,那a||b=false
C中,零為假,非零為真
多看書吧,書里都有的。
I. 豎式問題 循環為什麼從111開始
能把問題說完整一點嗎
J. c語言 111是二進制還是十進制
如果單講這個常數的話,是10進制。
2進制要寫為:0b111,不過不是所有編譯器都支持。
此外8進制寫為:0111,十六進制寫為:0x111。這些都是C標准中定義的。