1樓:
swap1中的引數是個陣列地址,也就是指標,所以交換的是兩個元素在記憶體中的地址,所以達到了交換兩個數的目的,屬於按址傳遞,而swap2中接收的是兩個整型數,屬於按值拷貝,交換的只是這兩個數的拷貝,所以實參本身並沒有交換
2樓:
確實是這樣的,這是c語言的一個難點,要好好掌握哦
3樓:鞠茉揚穀蕊
巨集是預編譯
所以只是簡單置換
這和函式不同
你這題目認真算算即可
如果我算得沒錯的話
應該是3113
過程和cdma980大致相同
4樓:鄂然帛奇邃
恩,用switch選擇符號,很簡單的,
最後做除法的時候,
要判斷除數是否為0,2樓的顯然寫的不是很好
5樓:夷詠緒如彤
左邊補零,有點像求餘(模運算)
6樓:翟燎牧香菱
在程式中,m等於0或者x=a[i]=44時,while迴圈就終止。實際執行是在x=a[i]=44時,while迴圈就終止,列印結果44
5。具體執行步驟如下:
(1)i
=y/2+1
=9/2
+1=4+1
=5;m=
y/2=
9/2=
4;m!=0
進入while迴圈
(2)a[i]
=a[5]=44
(a數列從a[0]開始),x=a[i]=44if()和else
if()內條件都不成立,執行else
break跳出迴圈執行printf()語句(3)列印x和i,因為從列印格式,它們的值連在一起,是445(44是x值,5是i值)
7樓:戢琪強平心
因為s1=min(a=b,b-a)即s1=min(3,3-2)=1所以輸出3
又s2=113
故結果為3113
8樓:哀微浮柔婉
char
(*p3)[5]、char
(*p4)[5]等分別表示的是一個二維陣列。char(*p3)[10]
=&a;中&a是存放一維陣列地址的地址,char(*p4)[5]
=a;中,a是一個一維陣列的地址。p3+1為未知值,而p4初始化編譯通不過
9樓:迮蕊釗德潤
a>>4
右移4位
右移的那4位補零
10樓:喜羊羊
#include "stdio.h"
int main()
int sum=0,i;
for (i=2;i<=100;i=i+2)sum=sum+i;
return 0;
#include "stdio.h"
#include "string.h"
int main()
char s1[6]={};
char s2[6]=;
int i;
printf("輸入字串: \n");
gets(s1);
for (i=0;i<5;i++)
if(s1[i]!=s2[i])
break;
if(i==5)
printf("this word is water\n");
else
printf("this word is not water\n");
return 0;
11樓:鎮嶽邸嘉德
答案為monkey~1
c的識別符號必須是字母或下劃線_及$開頭的,且只能由數字,字母,_及$組成
12樓:堅鶯南宮冬雁
本人沒有考慮演算法的正確性與否,完全按照您出示的演算法寫的如下程式:
#include
void
main()
printf("結果為:%f\n",term);}
13樓:蓬闌餘安萱
a.8e-4合法的。
e前面的是小於10大於1的小數,e表示是以10為底的冪,-4是冪的次方數,都合法正確。
b.錯:e前無數字,次方是小數是不允許的。
c.錯:e前無數字。
d.錯:e前無數字,e後無次方數。
c的科學計數語法是e前的1和e後的1都不能省略。
14樓:桂娥淳于丹萱
當然是錯的,c語言的語句必須在函式內,
你的system("color
a")位置不對的
正確可以執行的程式為
15樓:鈔瓊習幻玉
您好,c語言經典100題:
【程式1】
題目:有1,2,3,4個數字,能組成多少個互不相同且無重複數字的三位數
都是多少
1.程式分析:可填在百位,十位,個位的數字都是1,2,3,4.組成所有的排列後再去
掉不滿足條件的排列.
2.程式源**:
main()
}【程式2】
題目:企業發放的獎金根據利潤提成.利潤(i)低於或等於10萬元時,獎金可提10%;利潤高
於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提
成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於
40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於
100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤i,求應發放獎金總數
1.程式分析:請利用數軸來分界,定位.注意定義時需把獎金定義成長整型.
2.程式源**:
main()
【程式3】
題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少
1.程式分析:在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後
的結果滿足如下條件,即是結果.請看具體分析:
2.程式源**:
#include
"math.h"
main()
【程式4】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程式分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊
情況,閏年且輸入月份大於3時需考慮多加一天。
2.程式源**:
main()
sumsum+day;
/*再加上某天的天數*/
判斷是不是閏年*/
leap1;
else
leap0;
if(leap1&&month>2)/*如果是閏年且月份大於2,總天數應該加一天*/
sum++;
printf("it
isthe
%dth
day.",sum);}
【程式5】
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出.
1.程式分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,
然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小.
2.程式源**:
main()
/*交換x,y的值*/
if(x>z)
/*交換x,z的值*/
if(y>z)
/*交換z,y的值*/
printf("small
tobig:
%d%d
%d\n",x,y,z);
}【程式6】
題目:用*號輸出字母c的圖案.
1.程式分析:可先用'*'號在紙上寫出字母c,再分行輸出.
2.程式源**:
#include
"stdio.h"
main()
【程式7】
題目:輸出特殊圖案,請在c環境中執行,看一看,very
beautiful!
1.程式分析:字元共有256個.不同字元,圖形不一樣.
2.程式源**:
#include
"stdio.h"
main()
【程式8】
題目:輸出9*9口訣.
1.程式分析:分行與列考慮,共9行9列,i控制行,j控制列.
2.程式源**:
#include
"stdio.h"
main()
printf("\n");/*每一行後換行*/}}
【程式9】
題目:要求輸出國際象棋棋盤.
1.程式分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格.
2.程式源**:
#include
"stdio.h"
main()
}【程式10】
題目:列印樓梯,同時在樓梯上方列印兩個笑臉.
1.程式分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數.
2.程式源**:
#include
"stdio.h"
main()
}【程式11】
題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月
後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少
1.程式分析:
兔子的規律為數列1,1,2,3,5,8,13,21....
2.程式源**:
main()
}【程式12】
題目:判斷101-200之間有多少個素數,並輸出所有素數.
1.程式分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,
則表明此數不是素數,反之是素數.
2.程式源**:
#include
"math.h"
main()
if(leap)
leap1;
}printf("\nthe
total
is%d",h);}
16樓:銀輝獨以柳
a=b=c=2;a=
a+b=4b=
b+a=
6c=c+b=8
所以輸出的為
6yes
a=4,b=6,c=8
17樓:亓馨咎範明
看截圖,你用的應該是vc++編譯器,但你的源副檔名估計是.c字尾的,如果是.c字尾的,那麼編譯器會以c規則編譯**。
在c語言裡,區域性變數的定義必須在最前面,p=head;屬於賦值,那麼後面就不能再出現定義語句,int
max,num;違反了這條規則,而structstudent
*p=head;屬於定義,後面的int
max,num;就不違反規則。
把int
max,num;移到前面就行了,或者把原始檔字尾改為.cpp,以c++規則編譯就沒這樣的限制了。
18樓:沐閔馬佳晉
迴圈佇列的幾個公式給你總結下:
對頭指標+1:q.front=(q.front+1)%maxsize
隊尾指標+1:q.reae=(q.rear+1)%maxsize
初始化:q.front=q.rear=0
隊空:q.front=q.rear
隊滿:(q.rear+1)%maxsize=q.front
求長度:(q.rear-q.front+maxsize)%maxsize
%maxsize是為了防止越界,比如一共30個位置,隊尾指到30了,如果+1就到31了,這時候再取模30就得1,那麼隊尾指到的30向後+1就到了1了,迴圈回來了。
題目中,容量也就是maxsize=30。
由上述倒數第二個共識式子(q.rear+1)%maxsize=q.front得出(15+1)%30=16指到佇列已經滿了。
區分隊滿與對空的條件,隊滿是頭尾指標差一個,也就是隊尾指標當前位置如果再後移一個就等於對頭了。滿的情況下,最大容量是比maxsize少1的。
也就是29,也就是你的題的答案。
或者你用求長度的公式來算一下,(15-16+30)%30答案也是29。
C語言問題,C語言問題
符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...
C語言問題,c語言問題
這是值傳遞,值傳遞的過程的是,系統會給你的實參的值進行乙個拷貝,把這個拷貝傳遞給形式引數。因為是拷貝,所以實參裡頭的值是不會改變的。如果是位址傳遞就不一樣了。補充 你可以定義乙個指標,這個指標指向主函式的結構體。然後子函式的形參也定義乙個指向結構提的指標。這樣就是位址傳遞了。樓主還是好好花點時間看看...
C語言問題謝謝,C語言報錯的問題?
先寫個函式,原型類似 char convert char from 然後for迴圈遍歷每個字元,呼叫convert函式賦值 c語言問題,謝謝!這樣簡單的 復問題,按照制書上的舉例。套出一bai個來就行了,就是du乙個迴圈語句,內 zhi加乙個判斷奇偶語句dao就行了吧!源程式如下 include i...