版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《C語(yǔ)言程序設(shè)計(jì)》(邱曉紅主編)課后習(xí)題參考答案
第1章c語(yǔ)言及程序設(shè)計(jì)概述
1.單選題
(1)A(2)B(3)A(4)B(5)C
2.填空題
(1)//,/*...*/
(2)scanf()
(3)printf()
3.判斷題
(1)對(duì)(2)錯(cuò)(3)錯(cuò)(4)對(duì)
1.4簡(jiǎn)答題
①概述C語(yǔ)言和C語(yǔ)言程序的主要特點(diǎn)。
答:
1.C語(yǔ)言是高級(jí)語(yǔ)言。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來。
2。C語(yǔ)言是結(jié)構(gòu)式語(yǔ)言。結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的
信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。
①C語(yǔ)言功能齊全-具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。
②C語(yǔ)言適用范圍大。適合于多種操作系統(tǒng),如Windows、DOS,UNIX、LINUX等等:也適用于多種機(jī)型。
②請(qǐng)編程,在計(jì)算機(jī)屏幕上顯示:“您好,歡迎進(jìn)入C語(yǔ)言世界!”
解:
#include<stdio.h>
voidmain()
(
printf("您好,歡迎進(jìn)入c預(yù)言世界!“);
)
第二章:數(shù)據(jù)類型運(yùn)算符與表達(dá)式
1.單選題
(DC(2)D(3)C(4)B(5)C(6)A(7)B(8)D(9)A(10)B
(11)C(12)C(13)D(14)A(15)B(16)C(17)A(18)A(19)B(20)C
(21)C(22)D(23)C(24)A(25)D(26)B(27)C(28)B(29)B(30)A
2.填空題
(1)sqrt(pow(y,x)+log10(y))(2)36
(3)6(4)33
(5)6(6)36
(7)intx=8,y=8;(8)1
(9)E(10)7,9,6,8)
(11)6(12)66,96
(13)240(14)1,1,-1,-1
(15)5,2,6(16)1
(17)!(18)2
(19)(a>0&&a<101)&&(a%3==0||a%7==0)
(20)A
3.程序分析題
(1)27(VC++環(huán)境下,其它編譯環(huán)境可能有不一樣的結(jié)果)
27
49
44
1212
(2)3140
1-6
16
(3)100d68D
97a491
(4)0101
(5)2467
-0.58000007.000000
4
6.580000
7.500000
(6)3
31
21
13130
8
232
(7)6
1830
18
1
(8)1100
4.改錯(cuò)題
(1)①無初始賦值,不能輸出
②數(shù)據(jù)精度丟失
③少號(hào)
④單字符變量不能保存字符串常量
⑤不能連續(xù)初始化
⑥非法標(biāo)識(shí)符
(2)shorti=38000溢出
PI=3.1416常量不能修改值
Printf(t4%d,\x%y)%必須是整數(shù)
a*=(b+c)/=d復(fù)合賦值左邊不能是表達(dá)式
5、
(1)
#include<stdio.h>
intmain()
intH;
floatv,Ll,L2,L,T,sl,M;
prinlf(”請(qǐng)輸入開始里程數(shù),單位為千米:\n'');
scanf("%f;&Ll);
printf(”請(qǐng)輸入結(jié)束里程數(shù),單位為千米:\n*,);
scanf(n%f;&L2);
primf("請(qǐng)輸入時(shí)間,格式為時(shí),分,秒\n”);
scanf("%d,%f,%F,&H,&M,&s1);
T二H+M/60.0+S1/3600.0,將時(shí)間折算成小時(shí);
L=L2-L1;〃計(jì)算出這段時(shí)間走的路程,以千米計(jì):
v=L/T;
printf("%f\n';v);
return0;
(2)
#include<stdio.h>
#definePI3.14
intmain()
(
doubler=2.5,h=5,V;
V=(PI*r*r*h)/3;
primf("%f\n”,V);
return0;
第三章:算法概念與順序結(jié)構(gòu)程序設(shè)計(jì)
1.選擇題
(1)D(2)D(3)D(4)B(5)C(6)A(在16位機(jī)答案為D)(7)B(8)C
(9)B(10)D
2.填空題.
(1)一條語(yǔ)句;
(2)小于左右
(3)%%
(4)輸出項(xiàng)列表輸出控制符
(5)取地址取a的地址
(6)從盤獲取一個(gè)字符
(7)大括號(hào)
(8)f=68.000000
(9)nl=%d\nn2=%d
(10)75c=3
3.程序分析題.
(1)i=100,c=a,f=1.234000
(2)i=65535戶65536
(10)1234,123.5,12345.5
3.4編程題
?編寫一個(gè)程序,交換兩個(gè)數(shù)的值.
#include<stdio.h>
intmain()
inta,bftemp;
scanf("%d%d”,&a,&b);
HM
printf(a=%dzb=%d\nza,b);
temp=a;
a=b;
b=temp;
printf("a=gd,b=%d\n",a,b);
return0;
I
輸入任意一個(gè)4位數(shù)整數(shù),將該數(shù)反序輸出(例如輸入1354,輸出4531)。
#include<stdio.h>
intmain()
{
inta,ans=0;
scanf("%d",&a);
while(a)
(
ans=ans*10+a%10;
a/=10;
)
printf(n%d\n",ans);
return0;
)
①?gòu)逆I盤輸入能夠構(gòu)成三角形的三條邊長(zhǎng),編程計(jì)算該三角形的面積。
#include<stdio.h>
#include<math.h>
intmain()
(
inta,b,c,p;
doubleans;
printf("請(qǐng)輸入a,b,c-);
scanf(n%d%d%d",&a,&b,&c);
if((a+b)>c||(a"b)<c)
{
p=(a+b+c)/2;
ans=sqrt(double(p*(p-a)*(p-b)*(p-c)));
printf("%f\n",ans);
)
else
printf("輸入錯(cuò)誤\n");
return0;
)
(4)編寫程序,用getchar函數(shù)讀入兩個(gè)字符給cl和。2,然后分別用putchar函數(shù)和printf函
數(shù)輸出這兩個(gè)字符。在程序?qū)崿F(xiàn)時(shí)考慮
①變量cl和c2應(yīng)定義為字符型還是整型?還是兩者皆可?
#include<stdio.h>
intmain()
(
intclzc2;
charClzC2;
cl=getchar();getchar();
c2=getchar();getchar();
printfcl);
putchar(c2);putchar(1\n1);
Cl=getchar();getchar();
C2=getchar();
printf(n%c\tn,Cl);
putchar(C2);putchar(1\n1);
return0;
)
②要求輸出cl和c2的ASCII碼,應(yīng)如何處理?
#include<stdio.h>
intmain()
{
charcl,c2;
cl=getchar();getchar();
c2=getchar();getchar();
n
printf(%d\t%d\n"zcl,c2);
return0;
}
第四章:選擇結(jié)構(gòu)程序設(shè)計(jì)
1.選擇題
(1)C(2)B(3)B(4)B(5)D(6)D(7)D(8)A(9)D(有一語(yǔ)句缺
了;,若補(bǔ)齊則答案為B(10)A(11)B(12)B(13)D(14)A(15)C(16)A(17)
C(18)C(19)B(20)D(21)A(22)C(23)A(24)A
2.填空題.
(1)1(2)588
(3)4599(4)2
(5)10200(6)21
(7)-4(8)3
(9)No(10)25
(11)4545(12)0
(13)5.5(14)13
(15)3
3、
(1)參考代碼如下:
#include<stdio.h>
intmain()
(
intx;
printf("請(qǐng)輸入一個(gè)整數(shù):");
scanf(n%d",&x);
if(x%7==0)printf("Yes");
elseprintf("No");
return0;
1
(2)參考代碼如下:
#include<stdio.h>
#include<math.h>
intmain()
(
floata,b,c,s,m;
printf("請(qǐng)輸入三個(gè)數(shù):\n“);
scanf(M%f%f
if((a+b>c)&&(a+c>b)&&(b+c>a))
(
s=(a+b+c)/2;
m=sqrt(s*(s-a)*(s-b)*(s-c));
printf("Theareais:%lf\n",m);
)
elseprintf("輸入的三個(gè)數(shù)不能構(gòu)成三角形)
return0;
(
(3)會(huì)發(fā)現(xiàn)程序1輸出“優(yōu)秀”,程序2輸出“優(yōu)秀”“良好”“中等”“及格”四個(gè),因?yàn)槌绦?使用的是多
分支條件句,運(yùn)行時(shí)只執(zhí)行其中一個(gè),而程序2是多個(gè)條件語(yǔ)句,可以被多次判斷并且執(zhí)行。
(4)參考代碼如下:
#include<stdio.h>
intmain()
intm;
scanf("%d",&m);
switch(m)
(
casel:printf("Monday");break;
case2:printf("Tuesday");break;
case3:printf("Wednesday");break;
case4:printf("Thursday");brcak;
case5:prinlf("Friday");break;
case6:printf("Saturday");brcak;
case7:printf("Sunday");break;
default:printf(,'ErrorH);
1
return0;
)
(5)參考代碼如下:
#include<stdio.h>
intmain()
(
intm,n;
scanf(n%d",&m);
switch(m/10)
(
case1:case2:n=1;break;
case3:n=2;break;
case4:n=3;break;
case5:n=4;break;
default:n=5;
}
printf("%d\n",n);
return0;
)
(6)參考代碼如下:
不嵌套的if語(yǔ)句:
#include<stdio.h>
intmain()
(
intx,y;
printf("請(qǐng)輸入x的值:
scanf(M%d",&x);
if(x<0)
(
y=x;
printf("y=%d';y);
)
if(x>=0&&x<10)
(
y=x-10;
printf(,'y=%d",y);
1
if(x>=10)
(
y=x+10;
printf(ny=%d'\y);
)
return0;
)
嵌套的if語(yǔ)句:
#include<stdio.h>
intmain()
(
intx,y;
printf("請(qǐng)輸入x的值:”);
scanf("%d”,&x);
if(x>=0)
if(x>=10)
y=x+10;
printf(',y=%d,,,y);
)
else
(
y=x-10;
printf("y=%d'\y);
J
)
else
(
y=x;
printf(”y=%d",y);
)
return0;
I
多分支的if語(yǔ)句:
#include<stdio.h>
intmain()
(
intx,y;
printf("請(qǐng)輸入x的值:”);
scanf("%d",&x);
if(x<0)
{
y=x;
printf(ny=%d",y);
)
elseif(x>=0&&x<10)
(
y=x-10;
printf(ny=%d'\y);
)
else
(
y=x+10;
printf(',y=%d",y);
)
return0;
1
(7)參考代碼如下:
使用多分支if語(yǔ)句:
#include<stdio.h>
intmain()
{
intx;
printf("請(qǐng)輸入x的值:
scanf(n%d",&x);
if(x<60)
printfC'E1');
elseif(x>=60&&x<70)
printf(nDH);
elseif(x>=70&&x<80)
printf(uCn);
elseif(x>=80&&x<90)
printf(nBH);
elseif(x>=90&&x<=100)
printf(HAn);
else
printf("輸入有誤”);
return0;
)
使用switch語(yǔ)句:
#include<stdio.h>
intmain()
intx;
printf("請(qǐng)輸入x的值:”);
scanf(n%d",&x);
switch(x/10)
(
case1:case2:case3:case4:case5:printf(,'E");break;
case6:printf("D");break;
case7:printf(HC");break;
case8:printf("B");break;
case9:case10:printf("A");brcak;
default:printf("輸入有誤)
)
return0;
)
(8)參考代碼如下:
#include<stdio.h>
intmain()
(
intx;
scanf("%d",&x);
printf("請(qǐng)輸入x的值:”);
switch(x)
(
case1:case3:printf("高等數(shù)學(xué)課");break;
case2:case4:printf("程序設(shè)計(jì)課)break;
case5:printf(n外語(yǔ)課)break;
case6:printf("政治課");break;
caseO:prinlf("無課程安排");break;
default:printf("輸入有誤");
I
return0;
第五章:循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
1.選擇題
(1)C(2)A(3)D(4)C(5)D(6)B(7)A(8)A(輸出4444)(9)
B(10)A(11)B(12)C(13)B(缺了循環(huán)體,不完整)(14)C
2.填空題.
(1)r=m;m=n;n=r
m%n
(2)3
(3)-5
(4)i%3==2&&i%5==3&&i%7==2
j%5==0
(5)i==j
j!=k
(6)ints=8,j=i+2
k+i+j==8
(7)8
(8)k&&i<=500k/10continue
①編程實(shí)現(xiàn)對(duì)鍵盤輸入的英文名句子進(jìn)行加密。用加密方法為,當(dāng)內(nèi)容為英文字母時(shí)其在26字母中的其后
三個(gè)字母代替該字母,若為其它字符時(shí)不變。
②#include<stdio.h>
@#include<ctype.h>
?#include<string.h>
@#defineMAX1000
@intmain()
⑧charstr[MAX];
⑨gets(str);
⑩inti,len=strlen(str);
?for(i=0;i<len;i++)
?{
?if(isupper(str[i])||islower(str[i]))
?{
?if(str[i]>=,x*&&str[i]<=,z,)
?str[i]='z1;
@elseif(str[i]>=,X'&&str[i]<='Z*)
?str[i]='Z1;
?else
@str[i]+=3;
21)
22)
23printf(n%s\nn,str);
24return0;
25}
26編程實(shí)現(xiàn)將任意的十進(jìn)制整數(shù)轉(zhuǎn)換成R進(jìn)制數(shù)(R在2-16之間)。
^include<stdio.h>
intmain()
(
intx,r,ans[100],i=0;
printf(〃請(qǐng)?輸?入?十?進(jìn)?制?數(shù)筋x,進(jìn)?制?R:〃);
scanf(,z%d%d/z,&x,&r);
while(x)
(
ans[i++]=x%r;
x/=r;
)
while(i-)
printf(螺d",ans[i]);
printfCXn");
return0;
)
27
28少鍵盤胞入一呼金額[以元大單位;如吧5.78),然后顯示支付該金額的各種面額人民幣數(shù)量,要求
顯示100元、50元、10元、5元、2元、1元、5角、1角、5分、1分各多少?gòu)垺?輸出面額最大值:
比如345?78=100*3+10*4+5*1+0.5*1+0.1*2+0.01*8)
#include<stdio.h>
intmain()
(
longx,y,f;
doublen;
intx_100,x_50,x_10,x_5,x_2,x_l,y_5,y_l,f_5,f_l;
x_100=x_50=x10=x_5=x_2=x_.l=y_5=y_l=f_5=f1=0;
scanf&n);
x=int(n);
x_100=x/100;x%=100;
x_50=x/50;x%=50;
x_10=x/10;x%=10;
x_5=x/5;x%=5;
x_2=x/2;x%=2;
x_l=x/l;
n*=10;y=int(n)%10;
y_5=y/5;y%=5;
y_i=y/i;
n*=10;f=int(n)%10;
f_5=f/5;f%=5;
f_l=f/l;
printf(/z100元a\t:%d\n50元a\t:%d\nlO元a\t:%d\n5元a\t:%d\n2元a\t:%d\nl元a\t:%d\n5
角?\t:%d\nl角?\t:%d\n5分?分?x_100,x50,x10,x5,x2,x1,y_5,y1,f5,f_l);
return0;
}
29
30隨機(jī)產(chǎn)生20個(gè)[10,50]的正整數(shù)存放到數(shù)組中,并求數(shù)組中的所有元素最大值、最小值、平均值及各
元素之和。
#include<stdio.h>
^include<stdlib.h>
^defineINF10000
intmain()
(
inti,arr[20],sum=0,max=-INF,min=INF;
doubleaver;
for(i=0;i<20;i++)
{
arr[i]=rand();
sum+=arr[i];
if(arr[i]>max)max=arr[i];
if(arr[i]<min)min=arr[i];
}
aver=(doub1e)sum/20;
printf(〃max=%d\nmin=%d\nsum=%d\naver=%lf\n”,max,min,sum,aver);
return0;
)
31
32試編程判斷輸入的正整數(shù)是否既是5又是7的整倍數(shù)。若是,則輸出yes,否則輸出no.
#include<stdio.h>
intmainO
(
intx;
scanf&x);
if(!(x%5)&&!(x%7))
printf(〃yes\n〃);
else
printf("no\n〃);
return0;
)
33
34編寫程序?qū)崿F(xiàn)功能:用戶從鍵盤輸入?行字符,分別統(tǒng)計(jì)出其英文字母和數(shù)字字符的個(gè)數(shù)(不記回車符號(hào))。
#include<stdio.h>
^include<ctype.h>
#include<string.h>
intmainO
(
charstr[100];
gets(str);
inti,len=strlen(str),a=0,x=0;
for(i=0;i<len;i++)
(
if(isalpha(str[i]))
a++;
if(isdigit(str[i]))
x++;
}
printf("alpha:%d\nnumber:%d\n〃,a,x);
return0;
}
35
36編程在一個(gè)已知的字符串中查找最長(zhǎng)單詞,假定字符串中只含字母和空格,空格用來分隔不同單詞。
#include<stdio.h>
#include<ctype.h>
^include<string.h>
intmain()
(
charstr[100];
gets(str);
inti,len=strlen(str),a=0,max=0;
for(i=0;i<len;i++)
(
if(isalpha(str[i]))
(
a++;
if(a>max)max=a;
)
if(isspace(str[i]))
a=0;
)
printf(*maxlenghl:%d\n”,max);
return0;
)
37
38模擬n個(gè)人參加選舉的過程,并輸出選舉結(jié)果:假設(shè)候選人有四人,分別用A、B、C、D表示,當(dāng)選某候
選人時(shí)直接輸入其編號(hào)(編號(hào)由計(jì)算機(jī)隨機(jī)產(chǎn)生),若輸入的不是A、B、C、D則視為無效票,選舉結(jié)束后按
得票數(shù)從高到低輸出候選人編號(hào)和所得票數(shù)。
#include<stdio.h>
^include<stdlib.h>
^include<ctype.h>
^include<string.h>
intmain()
(
intn,a=0,b=0,c=0,d=0;
charx;
scanf&n);
while(n--)
(
x=rand();
switch(x)
(
case'a':
case'A':a++;break;
case'b':
case'B':b++;break;
case'c:
case'C':c++;break;
case'd':
case'D':d++;break;
default:break;
)
}
for(n=0;n<4;n++)
{
if(a>b&&a>c&&a>d)
(
printf(〃A:%d\n”,a);
a=0;
}
elseif(b>a&&a>c&&a>d)
(
printf(〃B:%d\n',b);
b=0;
}
elseif(c>b&&c>a&&c>d)
(
printf('C:%d\n”,c);
c=0;
)
elseif(d>b&&d>c&&d>a)
(
printf("D:%d\n〃,d);
d=0;
)
}
if(a)
printf("A:%d\n〃,a);
if(b)
printf('B:%d\n",b);
if(c)
printf(〃C:%d\n",c);
if(d)
printf(〃D:%d\n”,d);
return0;
(9)任何一個(gè)自然數(shù)m的立方均可寫成m個(gè)連續(xù)奇數(shù)之和。例如:
17=1
2人3=3+5
3人3=7+9+11
4人3=13+15+17+19
編程實(shí)現(xiàn):輸入一自然數(shù)n,求組成2的n個(gè)連續(xù)奇數(shù)。
#include<stdio.h>
intmain()
(
inti;
intn;
printf("輸?入?一?個(gè)?自?然?數(shù)篇:");
scanf("%d",&n);
if(n<0)
(
printf("輸?入?數(shù)露據(jù)丫有甑錯(cuò)洙?誤6");
)
else
{
printf("%d"3=",n);
for(i=0;i<n;i++)
if(i!=n-l)
printf("%d+”,n*(n-l)+l+2*i);
else
prinlf(〃%d\n〃,n*(nT)+l+2*i);
)
}
return0;
}
(9)分別編寫程序,打印以下各圖案。
/、(b)
(a)
1
a
234
ab
56789
abc
0123456
…789012345
ab..z
6789012345
(a)#include<stdio.h>
intmain()
(
inti,j;
for(i=l;i<=26;i++)
(
for(j=0;j<i;j++)
printf(z,%c'a+j);
printfC\nO;
}
return0;
}
(b)#include<stdio.h>
intmain()
(
inti,j,x=O;
for(i=l;i<=10;i++)
{
for(j=0;j<i;j++)
(
if(++x>9)x-=10;
printf(/z%d〃,x);
)
printf(〃\n〃);
)
return0;
第六章:數(shù)組
1.選擇題
(1)B(2)C(3)D(4)D(5)B(6)C(7)B(8)A(9)A(10)D
2.填空題.
(1)按行序優(yōu)先的原則
(2)09
(3)0
(4)12
(5)6
(6)前者以回車后者以空格或回車作為間隔符
(7)strcpy(gets。函數(shù)是鍵盤輸入字符串)
(8)&a|i++]
(9)k)/2+1
(10)98
3.程序分析題.
(1)13715
(2)123
056
009
(3)讀取輸入字符串中數(shù)字字符
(4)?if(strl==str2)(strcmp(strl,str2)==0)
②&cl⑼
6.4編程題
編寫程序,查找數(shù)組中的最大元素和最小元素。
#include<stdio.h>
#defineMAX1000
voidmain(){
inta[MAX]={100,2,3,4,5,6};//假定數(shù)組為整數(shù),
intlenght=6;//用于確定數(shù)組的長(zhǎng)度;
intmax,min;//用于保存最大值和最小值;
inti;
max=a[0];//開始的參考數(shù)
min=a[0]”/同上
for(i=l;i<lenght;i++)//(1)
(
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
)
printf(nthemaxis:%d\n”,max);//輸出最大值
printf("theminis:%d\n”,min);//輸出最小值
)
//為了尋找最大值和最小值,我對(duì)整個(gè)數(shù)組進(jìn)行判斷(1);當(dāng)當(dāng)前數(shù)組元素值比max的數(shù)值大時(shí),就把
max的值更新為當(dāng)前數(shù)組元素的值,
//
有15個(gè)整數(shù)按升序提排列,現(xiàn)輸入一個(gè)數(shù),請(qǐng)寫程序,用折半查找法判斷該數(shù)在序列中是否存在,若存
在則指出是第幾個(gè)。
#include<stdio.h>
voidmain()
(
inta[15];//用于存15個(gè)整數(shù);
inti;
intmid;
intkey;
intok=0;
intnum;
printf(”請(qǐng)輸入15個(gè)數(shù)(數(shù)與數(shù)用空格隔開)\n”);
for(i=0;i<15;i++)
scanf(n%dH,&a[i]);
printf(”請(qǐng)輸入需要判斷的數(shù)\n");
scanf(*'%d",&key);
mid=a[6];
if(mid<=key)
for(i=6;i<15;i++)
(
if(a[i]==key)
(
ok=l;
num=i+l;
)
)
elsefor(i=0i++)
{
if(a[i]=key)
(
ok=l;
num=i+l;
)
)
if(ok==l)
printf("存在,是第%<1個(gè)\n",num);
elseprintf("不存在\n");
)
//因?yàn)檎麄€(gè)數(shù)組是升序數(shù)組所以需要判斷的數(shù)要是比中間的數(shù)大,就〃在數(shù)組的右邊,否則就在數(shù)組的左
邊,只需循環(huán)左邊或右邊就能判〃斷出需要判斷數(shù)的位置和是否存在整個(gè)數(shù)組中,
(3)尋找一個(gè)整型二維數(shù)組的“鞍點(diǎn)”,所謂“鞍點(diǎn)”就是這樣一個(gè)元素,該元素在所在行中值是最小,
在所在列中值是最大。如果存在,則輸出“鞍點(diǎn)”所在的行、列及其“鞍點(diǎn)”得值。
#include<stdio.h>
intmain()
(
inta[3][3]={],3,1,1,1,4,12,7,11};〃用于存二維數(shù)組;
intline=3;〃行
intlinel;
intlist=3;//歹l]
intlistl;
int
intok=0;
intokl=0;
intmaxzmin;
for(i=0;i<line;i++)
(
for(p=0;p<list;p++)
(
listl=p;
for(j=0;j++)
if(a[i][p]<=a[i][j])
okl=l;
else
okl=0;
if(okl==l)
(
linel=i;
ok=l;
for(k=0;k<line;k++)
if(a[i][p]<a[k][listl])
ok=0;
if(ok==l)
break;
)
}
)
if(ok=l)
printf("存在“鞍點(diǎn)”,“鞍點(diǎn)”在第%d行第%(1列\(zhòng)11”,11]^1+1,1*七1+1);
elseprintf("不存在\n”);
return0;
)
〃先尋找行中最小值,在這基礎(chǔ)上,判斷這個(gè)最小值是否是列中最小值。
第七章:函數(shù)的調(diào)用
1.選擇題
(1)B(2)C(3)C(4)A(5)A(6)D(7)D(8)D(9)B(10)D(11)A
(12)A(13)B(14)B
2.填空題.
(1)標(biāo)準(zhǔn)庫(kù)函數(shù)自定義函數(shù)(若從函數(shù)的形式上,有參無參
(2)順序類型
(3)定義調(diào)用
(4)①fmax(a,N)②k=p(注意非s[k]=s[p])
(5)@age(n-1)+2②age(n)
(6)①prt(c,n-l)②prt('\n-i)③prt('*',2*i-l)
3.程序分析題.
(1)h1o
(2)3
(3)26
(4)21
(4)525
7.4編程題
①編寫一遞歸函數(shù)求斐波納契數(shù)列的前40項(xiàng)。
解:
1.#include<stdio.h>
intfib(intn)
(
if(n==l||n==2)
return1;
returnfib(n-1)+fib(n-2);
)
intmain()
(
intn;
n
scanf(%d"z&n);
printf("%d\n",fib(n));
return0;
}
①編寫程序,輸入長(zhǎng)方體的長(zhǎng)寬高求體積及三個(gè)面l*w,l*h,w*h的面積。
#include<stdio.h>
voiduboid(float1,floatw,floath)
(
printf("體積=%.215”,1*亞*11);
printf("l*w=%.2f\n",l*w);
printf(”l*h=%.2f\n”,l*h);
printf(',h*w=%.2f\n",h*w);
)
intmain()
(
floatll,ww,hh;
scanf(,,%f%f%f',&ll,&ww,&hh);
uboid(ll,ww,hh);
return0;
①編寫程序,使給定的一個(gè)5x5的二維整型數(shù)組轉(zhuǎn)置,即行列互換。
#include<stdio.h>
intmain()
(
inta[5][5],b[5][5],i,j;
for(i=0;i<5;i++)
(
for(j=0;j<5;j++)
(
scanf("%d",&a[i][j]);
b[j][i]=a[i][j];
for(i=0;i<5;i++)
(
for(j=0;j<5;j++)
printf(',%d\b[i][j]);
printf(n\n");
}
return0;
①編寫程序,輸入一個(gè)十六進(jìn)制數(shù),輸出相應(yīng)的十進(jìn)制數(shù)。
#include<stdio.h>
intmain()
{
longintfunc(chars[]);
charstr[100];
charc;
inti=0;
intflag,flagl;
flag=0;
flagl=l;
printf(ninputahexnumber:n);
while((c=getchar())!='\0'&&i<100&&flagl)
(
if((c<='91&&c>='0T)||(c<=1F'&&c>=*A')||(c<='f*&&c>=,a1))
{
flag=l;
str[i++]=c;
)
elseif(flag)
{
str[i]=*\0';
printf("decimalnumber%ld:\n",func(str));//
printf("Continueornot?”);
c=getchar();
if(c=='n,||c=='N1)
flagl=0;
elseif(c==,y'||c==fY')
(
flag=0;
i=0;
printf("\npleaseinputahexnumber:");
}
)
)
)
longintfunc(chars[])
{
longintnum=0;
inti=0;
for(i=0;s[i]!='\0*;i++)
{
if(s[i]>=,0,&&s[i]<=,9,)//字符串!!!!!!
num=num*16+s[i]-101;
elseif(s[i]>=,a,&&s[i]<=,f)
num=num*16+s[i]-*a'+10;
elseif(s[i]>=,A'&&s[i]<=,F,)
num=num*16+s[i]-1A*+10;
}
returnnum;
)
①編寫程序,使輸入的一個(gè)字符串按反序存放。
#include<stdio.h>
#include<string.h>
intmain()
(
chara[100];
gets(a);
intl=strlen(a);
inti;
for(i=l-l;i>=0;i-)
nn
printf(%cza[i]);
return0;
)
習(xí)題八
8.1選擇題
(1)C(2)B(3)A(4)C(5)A(6)C(7)B(8)D(9)A(10)B(11)C(12)D(13)C(14)A(15)D
8.2填空題
①返回值為指針的函數(shù)f指向一個(gè)函數(shù)的指針
②地址變量
③0
④int*z
⑤*(p+5)
⑥a+i&a[i]*(a+i)
⑦*(a+i)+j&a[i]|j]
指向數(shù)組的指針數(shù)組開頭的集合
@4
⑨指針的數(shù)組
(10)指針的數(shù)組指向數(shù)組4元素的指針
8.3程序設(shè)計(jì)
①編寫一個(gè)程序計(jì)算一個(gè)字符串的長(zhǎng)度。
#include<stdio.h>
intcompute(char*p)
(
intsum=0;
while(l)
(
if(*p!='\0')
(
sum++;
p=p+l;
)
elsebreak;
)
returnsum;
)
voidmain()
(
chara[1000];
intlenght;
scanf("%s",&a);
lenght=compule(a);
printf("字符串的長(zhǎng)度是:%d\n",lenght);
〃在儲(chǔ)存字符數(shù)組時(shí),以\0為結(jié)尾標(biāo)志,可以利用這個(gè)特點(diǎn)。
②編寫一個(gè)程序,當(dāng)鍵盤輸入整數(shù)為1到12時(shí),解釋顯示相應(yīng)的英文月份名,鍵入其它整數(shù)時(shí)顯示錯(cuò)誤信
息。
#include<stdio.h>
voidmain()
(
intnum;
scanf("%d”,&num);
switch(num)
(
case1:printf("January\nM);break;
case2:printf("Februaiy\n");break;
case3:printf("lMarch\n*');break;
case4:printf("April\n");break;
case5:printf("May\n");break;
case6:printf("June\n");break;
case7:printf("July\n");break;
case8:printf("August\n");break;
case9:printf("September\n',);break;
case10:pnntf("October\n");break;
case11:printf("November\n");break;
case12:printf("December\n");break;
default:printf("ERRO\nn);
}
}
〃簡(jiǎn)單switch用法
③編一程序,將字符串software賦給一個(gè)字符數(shù)組,然后從第一個(gè)字母開始間隔地輸出該串。請(qǐng)用指針完
成。
#include<stdio.h>
voidmain()
(
chara[]="software";
inti;
fbr(i=0;i<8;i=i+2)
printf(n%c",*a+i);
printf("\n^^);
)
④編一程序,將字符串中的第m個(gè)字符開始的字符子串復(fù)制成另一個(gè)字符串。要求在主函數(shù)中輸入字符串
及m的值并輸出復(fù)制結(jié)果,在被調(diào)函數(shù)中完成復(fù)制。
#include<stdio.h>
#include<string.h>
voidcopy(char*p,intlenghtjntm,char*p2)
inti;
for(i=0;i<=lenght;i++)
*(p2+i)=*(p+i+m-1);
)
voidmain()
(
chara|1000|;
chara2[1000];
char*p3;
intlen;
intm;
inti;
gets(a);
scanf(n%d",&m);
len=strlen(a);
copy(a,len,m,a2);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 景觀燈采購(gòu)合同
- 二年級(jí)道德與法治上冊(cè) 我上二年級(jí)了 第2課《我為集體添光彩》教案 北師大版
- 2024-2025學(xué)年高中物理 第二章 原子結(jié)構(gòu) 3 光譜 氫原子光譜教案1 教科版選修3-5
- 2024年學(xué)年八年級(jí)語(yǔ)文上冊(cè) 第五單元 心靈詩(shī)語(yǔ) 第18課《采蓮曲》教案 滬教版五四制
- 2023三年級(jí)英語(yǔ)上冊(cè) Unit 2 Colours Part B 第二課時(shí)教案 人教PEP
- 八年級(jí)政治下冊(cè) 第五單元 我是中國(guó)公民 5.1 我們都是公民情境探究型教案 粵教版
- 2024-2025學(xué)年高中物理 第四章 機(jī)械能和能源 5 機(jī)械能守恒定律教案1 教科版必修2
- 高考地理一輪復(fù)習(xí)第十九章環(huán)境安全與國(guó)家安全第一節(jié)環(huán)境安全、全球氣候與國(guó)家安全課件
- 最簡(jiǎn)單的居間合同(2篇)
- 漢子人教版課件
- VDA6.3-2016過程審核對(duì)應(yīng)的資料
- 普通診所污水、污物、糞便處理方案及周邊環(huán)境情況說明
- 初中道德與法治-《共筑生命家園》教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 心理健康教育心理健康知識(shí)講座-課件
- 2023年新高考數(shù)學(xué)(新高考Ⅰ卷)真題評(píng)析及2024備考策略
- 三人合資建廠協(xié)議書
- 初中數(shù)學(xué)-《積的乘方》教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 湖北省武漢市華中師范大學(xué)附屬小學(xué)六年級(jí)小升初語(yǔ)文測(cè)試卷(8套試卷帶答案解析)
- 第六講-關(guān)于學(xué)術(shù)規(guī)范課件
- 2023陜西延長(zhǎng)石油集團(tuán)礦業(yè)公司所屬單位招聘666人筆試備考題庫(kù)及答案解析
- 我國(guó)的宗教政策-(共38張)專題培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論