C程序設(shè)計第四版譚浩強習題例題第7章
《C程序設(shè)計第四版譚浩強習題例題第7章》由會員分享,可在線閱讀,更多相關(guān)《C程序設(shè)計第四版譚浩強習題例題第7章(27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、.
第7章函數(shù)
例7.1
#include
2、2
int max(int x,int y)
{
int z;
z=x>y?x:y;
return(z);
}
#include
3、 main()
{
int max(float x,float y);
float a,b;
int c;
printf("please enter two integer number:");
scanf("%f,%f",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
int max(float x,float y)
{
float z;
z=x>y?x:y;
return(z);
}
例7.4
#include
4、float add(float x,float y);
float a,b,c;
printf("please enter a and b:");
scanf("%f,%f",&a,&b);
c=add(a,b);
printf("sum is %f\n",c);
return 0;
}
float add(float x,float y)
{
float z;
z=x+y;
return(z);
}
精品
.
例7.5
#include
5、 c,int d); int a,b,c,d,max; printf("please enter 4 interger number:"); scanf("%d %d %d %d",&a,&b,&c,&d); max=max4(a,b,c,d); printf("max=%d\n",max); return 0; } int max4(int a,int b,int c,int d) { int max2(int a,int b); int m; m=max2(a,b); m=max2(m,c); m=max2(m,d); return(m
6、);
}
int max2(int a,int b)
{
if(a>=b) return a;
else return b;
}
#include
7、rn 0;
}
int max4(int a,int b,int c,int d)
精品
.
{
int max2(int a,int b);
return(max2(max2(max2(a,b),c),d));
}
int max2(int a,int b)
{
return(a>b?a:b);
}
例7.6
#include
8、;
if(n==1) c=10;
else c=age(n-1)+2;
return(c);
}
例7.7遞歸方法求n!
#include
9、ror!");
else if(n==0||n==1) f=1;
else f=fac(n-1)*n;
return(f);
精品
.
}
例7.8漢諾塔
#include
10、,C); } void hanoi(int n,char one,char two,char three)//將N-1個盤子從一座移到另一座。 { void move(char x,char y);//用到這個函數(shù),提前聲明 if(n==1) move(one,three);//最后一步1-3 else { hanoi((n-1),one,three,two);//小和尚工作n-1個盤子借用3由1搬到2 move(one,three);//老和尚工作最大盤子由1搬到3 hanoi((n-1),two,one,three);//小和尚工作n-1個盤子借用2
11、由1搬到3,完成工作
}
}
void move(char x,char y)//將一個盤子從一座移到另一座
{
printf("%c-->%c\n",x,y);
}
例7.9
#include
12、=0;i<10;i++)
{
if (max(m,a[i])>m)
{
m=max(m,a[i]);
n=i;
}
}
printf("The largest number is %d\nit is the %dth number.\n",m,n+1);
}
int max(int x,int y)
{
return(x>y?x:y);
}
例7.10
#include
13、; int i; printf("enter 10 scores:\n"); for(i=0;i<10;i++) scanf("%f",&score[i]); printf("\n"); aver=average(score); printf("average score is %5.2f\n",aver); return 0; } float average(float array[10]) { int i; float aver,sum=array[0]; for (i=1;i<10;i++) sum=sum+array[i];
14、精品
.
aver=sum/10;
return(aver);
}
例7.11
#include
15、("The average of class B is %6.2f\n",average(score2,10));
return 0;
}
float average(float array[10],int n)
{
int i;
float aver,sum=array[0];
for (i=1;i
16、 int a[10],i;
printf("enter array:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
printf("The sorted array:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
精品
.
printf("\n");
return 0;
}
void sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i 17、=i+1;j 18、e(int array[][4])
{
int i,j,max;
max=array[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(array[i][j]>max) max=array[i][j];
return(max);
}
例7.14
#include 19、Please enter 10 score:");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
ave=average(score,10);
printf("max =%6.2f\nmin=%6.2f\naverage=%6.2f\n",Max,Min,ave);
return 0;
}
float average(float array[],int n)
{
int i;
float aver,sum=array[0];
Max=Min=array[0];
for(i=1;i 20、array[i]>Max) Max=array[i];
else if(array[i] 21、b?a:b;
精品
.
return(c);
}
例7.16
#include 22、n);
int i;
for (i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
return 0;
}
int fac(int n)
{
static int f=1;
f=f*n;
return(f);
}
精品
.
例7.18
#include 23、,&C);
printf("max is %d\n",max());
return 0;
}
int A,B,C;
int max()
{
int m;
m=A>B?A:B;
if(C>m)m=C;
return(m);
}
例7.19
file1.c
#include 24、
c=A*b;
printf("%d*%d=%d\n",A,b,c);
d=power(m);
printf("%d**%d=%d\n",A,m,d);
return 0;
}
精品
.
file2.c
extern A;
int power(int n)
{
int i,y=1;
for(i=1;i<=n;i++)
y*=A;
return(y);
}
例7.20
file1.c
#include 25、xtern void delete_string(char str[],char ch);
extern void print_string(char str[]);
char c,str[80];
enter_string(str);
scanf("%c",&c);
delete_string(str,c);
print_string(str);
return 0;
}
file2.c
void enter_string(char str[80])
{
gets(str);
}
file3.c
void delete_string(char st 26、r[],char ch)
{
int i,j;
for(i=j=0;str[i]!=\0;i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]=\0;
}
file4.c
精品
.
void print_string(char str[])
{
printf("%s\n",str);
}
習題
1.
#include 27、
r=x%y;
x=y;
y=r;
}
return(x);
}
int multiple(int x,int y)
{
int z;
z=x*y/divisor(x,y);
return(z);
}
int main()
{
int a,b;
printf("請輸入兩個整數(shù)a和b:");
scanf("%d,%d",&a,&b);
printf("a和b的最大公約數(shù)為%d.\n",divisor(a,b));
printf("a和b的最小公倍數(shù)為%d.\n",multiple(a,b));
return 0;
}
28、精品
.
2.
#include 29、t c)
{
printf("方程有兩不等實根:x1=%5.2f+%5.2fi,x2=%5.2f-%5.2fi\n",-b/(2*a),sqrt(-d)/(2*a),-b/(2*a),sqrt(-d)/(2*a));
}
int main()
{
float a,b,c;
printf("請輸入a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
d=b*b-4*a*c;
if(d>0) disc1(a,b,c);
else if(fabs(d)<=1e-6) disc2(a,b,c);
else disc3(a,b,c);
re 30、turn 0;
}
3.
#include 31、;
f(a);
return 0;
}
4.
#include 32、
printf("%5d",a[i][j]);
printf("\n");
}
printf("\n");
f(a);
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
5.
#include 33、b=a[i];
a[i]=a[t-i-1];
a[t-i-1]=b;
}
}
void main()
{
char ch[80];
gets(ch);
f(ch);
puts(ch);
}
精品
.
6.
#include 34、 do!",ch2[]="Fine,thank you,and you?";
f(ch1,ch2);
puts(ch1);
}
7.
#include 35、=\0;
}
int main()
{
char ch1[80]="How are you?Fine,thank you,and you?",ch2[40];
f(ch1,ch2);
puts(ch2);
return 0;
}
8.
精品
.
#include 36、
{
int n,i,ch[4];
printf("輸入一個四位整數(shù):\n");
scanf("%d",&n);
f(n,ch);
for(i=0;i<=3;i++)
printf("%c ",ch[i]+48);
}
9.
#include 37、++;
else if(c[i]>=a&&c[i]<=z) low++;
else if(c[i]>=0&&c[i]<=9) num++;
else if(c[i]== ) space++;
else other++;
}
}
void main()
{
char ch[80];
printf("輸入一句英文,限80字符內(nèi):\n");
gets(ch);
f(ch);
printf("大寫字母%d個,小寫字母%d個,數(shù)字%d個,空格%d個,其他%d個\n",upp,low,num,space,other);
精品
.
}
38、
10.
#include 39、n=0;
m++;
}
}
printf("最長的單詞為:\n");
puts(b[g]);
}
void main()
{
char a[100],b[40][30];
printf("請輸入一句英文:\n");
gets(a);
f(a,b);
}
11.
精品
.
#include 40、 ch=a[i];
a[i]=a[j];
a[j]=ch;
}
}
void main()
{
char a[10];
printf("請輸入10個字符:\n");
gets(a);
f(a);
puts(a);
}
12.
#include 41、n()
{
float a,b,c,d,x;
printf("請輸入a,b,c,d:\n");
scanf("%f,%f,%f,%f",&a,&b,&c,&d);
printf("方程為%f*x*x*x+%f*x*x+%f*x+%f=0\n",a,b,c,d);
x=1.0;
while(a*x*x*x+b*x*x+c*x+d>1e-6)
x=f(a,b,c,d,x);
printf("方程在1附近的根為:%f\n",x);
精品
.
}
13.
#include 42、at y;
if(n==0)y=1;
else if(n==1)y=x;
else y=((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;
return (y);
}
void main()
{
float x,y;
int n;
printf("請輸入正整數(shù)n和實數(shù)x:\n");
scanf("%u,%f",&n,&x);
y=p(n,x);
printf("%f\n",y);
}
14.
#include 43、ouble sum,aver;
for(i=0;i<=9;i++)
{
sum=0,aver=0;
for(j=0;j<=4;j++)
sum+=a[i][j];
aver=sum/5.0;
printf("第%d名學生的平均分為:%5.1lf分\n",i+1,aver);
}
}
精品
.
void f1(double a[10][5])
{
int i,j;
double sum,aver;
for(j=0;j<=4;j++)
{
sum=0,aver=0;
for(i=0;i<=9;i++)
sum+=
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點美食推薦
- XX國有企業(yè)黨委書記個人述責述廉報告及2025年重點工作計劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復工安全生產(chǎn)培訓人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點節(jié)后常見的八大危險
- 廈門城市旅游介紹廈門景點介紹廈門美食展示
- 節(jié)后開工第一課復工復產(chǎn)十注意節(jié)后復工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓
- 深圳城市旅游介紹景點推薦美食探索
- 節(jié)后復工安全生產(chǎn)培訓勿忘安全本心人人講安全個個會應(yīng)急
- 預防性維修管理
- 常見閥門類型及特點
- 設(shè)備預防性維修
- 2.乳化液泵工理論考試試題含答案