




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、程序設計技術(第三版)習題參考答案習題1一、單項選擇題DADDDB CCD(注:第7小題無正確選項,正確答案為-12)二、填空題 主 main x=x*(x+b) 普通、格式、分隔和轉義 指定輸出數(shù)據(jù)格式 void main() "how are you! " 三、閱讀程序題1.9,11,9,10 2.2,-1,-13.aa bb cc abc4.2,25.57 5 767.5864000,-789.12402367.5864000, -7.89e+002 67,86, -789.12,67.5864000, -789.124023, 67.5864000, -789.12
2、40236.758640e+001, -7.89e+002A,65,101,411234567,4553207,12d68765535,177777,ffff,65535COMPUTER, COM.6. a + c = 102a + c = ff + m = 17.950000a + m = 17.650000c + f = 102.300000double = 1746.150019四、程序設計題/xt010401.cpp#include <stdio.h>#define PI 3.1415926void main()double r,h;printf("請輸入半徑r和
3、高h:");scanf("%lf,%lf",&r,&h);printf("圓半徑: %lfn",2*PI*r);printf("圓面積:%lfn",PI*r*r);printf("圓球表面積:%lfn",4*PI*r*r);printf("圓球體積:%lfn",4.0/3*PI*r*r);printf("圓柱體積:%lfn",PI*r*r*h);/xt010402.cpp#include <stdio.h>void main()int c
4、;printf("Input a character:");c=getchar();printf("%ct%dn",c,c);/xt010403.cpp#include <stdio.h>void main()int x,y,h=30,f=90;x=(4*h-f)/2;y=(f-2*h)/2;printf("雞:%d, 兔:%dn",x,y);/xt010404.cpp#include <stdio.h>#include <math.h>void main()double a,b,c,s,area;
5、printf("請輸入三角形的三條邊長(注意三條邊長應能夠構成三角形):");scanf("%lf,%lf,%lf",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf("三角形的面積是: %lfn",area);/xt010405.cpp#include <stdio.h>void main()double f,c;printf("請輸入華氏溫度:");scanf("%lf",&f);
6、c=5.0/9.0*(f-32);printf("與華氏溫度%.2lf對應的攝氏溫度是:%.2lfn",f,c);/xt010406.cpp#include <stdio.h>void main()char c1,c2,c3,c4,c5;printf("請輸入需加密的字符串(5個字符):");c1=getchar();c2=getchar();c3=getchar();c4=getchar();c5=getchar();printf("加密后的字符串是:");putchar(c1+5);putchar(c2+5);putc
7、har(c3+5);putchar(c4+5);putchar(c5+5);printf("n");習題2一、 單項選擇題CBADC CCAAC二、填空題 a+b=0&&a*b!=0 邏輯與 邏輯或 continue (c= getchar ()!='n' %c三、閱讀程序題答案:答案:該程序所完成功能的函數(shù)關系為:答案: 答案: 答案: 答案: 四、程序設計題/* xt020401.cpp */#include <stdio.h>void main()int num; printf("* Input num: *n&q
8、uot;); scanf("%d",&num); if(num%3=0&&num%5=0&&num%7=0) printf("* YES ! *n"); else printf("* NO ! *n");/* xt020402.cpp */#include <stdio.h>void main()int h=0;float x,y,x0=2,y0=2,d1,d2,d3,d4;printf("* input: x,y *n");scanf("%f,%f&q
9、uot;,&x,&y); d1=(x-x0)*(x-x0)+(y-y0)*(y-y0); /*點(x,y)到各中心點的距離*/ d2=(x-x0)*(x-x0)+(y+y0)*(y+y0); d3=(x+x0)*(x+x0)+(y-y0)*(y-y0); d4=(x+x0)*(x+x0)+(y+y0)*(y+y0); if(d1<=1|d2<=1|d3<=1|d4<=1) h=15; printf("x=%f, y=%fn",x,y); printf("h=%dn",h);/* xt020403.cpp */#in
10、clude <stdio.h> void main() int i,j,k,n; for(n=100;n<=999;n+)i=n/100; j=n/10-i*10; k=n%10; if(n=i*i*i+j*j*j+k*k*k)printf("%dn",n); /* xt020404.cpp */#include <stdio.h>#include <math.h>#define EPS 1.0e-6void main() float e=1,t; long int j=1,n=1; do j=j*n; t=1.0/j; e=e+t
11、; n+; while ( fabs(t) >= EPS ); printf("e=%fn",e); /* xt020405.cpp */#include <stdio.h>void main()int num=1; do if(num+3)%5=0&&(num-3)%6=0) break; num+=1; while(1);printf("num=%dn",num);/* xt020406.cpp */#include <stdio.h>void main() int num; for(num=1;num&
12、lt;=99;num+) if(num*num%10=num|num*num%100=num) printf("%4d,%5d",num,num*num); printf("n");/* xt020407.cpp */#include <stdio.h>void main() int n,k=1; float s=0; for(n=1;n<=10000;n+) s=s+1.0/(2.0*n-1)*k; k=-k; printf("PI=%fn",4*s);/* xt020408.cpp */#include <
13、stdio.h>void main() int n10,n5,n2,n1; for(n10=1;n10<=9;n10+) for(n5=1;n5<=17;n5+) for(n2=1;n2<=37;n2+) n1=40-n10-n5-n2;if(n1>=1&&n10*10+n5*5+n2*2+n1=100) printf("n10=%d,n5=%d,n2=%d,n1=%dn",n10,n5,n2,n1); /* xt020409.cpp */#include <stdio.h>void main()float sn=1
14、00,hn=sn/2; int n=2; while(n<=10) sn+=2*hn; hn=hn/2; n+; printf("%f,%fn",sn,hn);/* xt020410.cpp */#include <stdio.h>void main() int day,x1,x2=1; for(day=9;day>0;day-) x1=(x2+1)*2; x2=x1; printf("Total=%dn",x1);習題3單項選擇題BBCAC DDABB填空題 9 0 10 x 一致 n/2 sum+a sum/n三、閱讀程序題1
15、. 2 4 62. s=303. 5 9 45 8 424. lanuge5. 8 1 6 3 5 7 4 9 26. max=10,row=2,colum=1四、程序設計題/xt030401.cpp#include <stdio.h> #include <stdlib.h>#include <time.h>#define N 10void main() int i, arr10,a; srand(unsigned)time(NULL); printf("請輸入一個位數(shù),試試您是否能中獎:"); scanf("%d",
16、&a); for(i=0;i<N;i+) arri = rand()%100; if(a = arri) printf("猜中一個數(shù): %d 下標是%dn",a,i+1); printf("n"); for( i=0; i<N; i+) printf("%dt ",arri);/xt030402.cpp#include <stdio.h> #include <stdlib.h>#include <time.h>void main(void) int a5=23,45,60,67,
17、88,x,i,j,yes=0; for(i=0;i<5;i+) printf("%d,",ai); printf("nwhich number do you want to delete?n"); scanf("%d",&x); for(i=0;i<5;i+) if(ai=x) yes=1; for(j=i;j<5;j+) aj=aj+1; if(yes=1) for(i=0;i<4;i+) printf("%d,",ai); else printf("The number
18、 you want doesn't exist"); /xt030403.cpp#include <stdio.h> #include <stdlib.h>#include <time.h>#define SIZE 1000void main() int x,aSIZE,size,sum=0; srand(unsigned)time(NULL); while(size=rand()%1000)>200); printf("nRandomiz list size(<1000):%d",s
19、ize); printf("nAuto make a %d size of list:n",size); for(x=0;x<size;x+) ax=rand()%1000 ; printf("%dt",ax); sum+=arrx; printf("nThe sum of array elements is %d", sum);/xt030404.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>#define SIZE 100
20、void main() int x,aSIZE,max=0,min=1000,b1,b2; srand(unsigned)time(NULL); printf("nAuto make a %d size of list:n",size); for(x=0;x<SIZE;x+) ax=rand()%1000 ; printf("%dt",ax); for(x=0;x<SIZE;x+) if(ax>max) max=ax,b1=x; if(ax<min) min=ax,b2=x; printf("nTh
21、e array elements max= %d in %d n min=%d in %dn",max,b1,min,b2);/xt030405.cpp#include <stdio.h>#define SIZE 100#define KIND 5void main() int x,y,len,totalKIND+1; int a=1,1,1,1,2,2,2,3,5,5,5,5,1,1,3,3,3,3,3,2,2,2,5,5,5; len=sizeof(a)/sizeof(a0); for(x=0;x<KIND+1;x+) totalx=0 ; for(y=1;y&
22、lt;KIND+1;y+) for(x=0;x<len;x+) if (ax=y) totaly+; printf("nThe list kinded:n"); for(x=0;x<len;x+) printf(" %d ",ax); printf("nThe total result: "); for(x=1;x<KIND+1;x+) printf(" %d-%d, ",x,totalx);/xt030406.cpp#define N 26#include <stdio.h>int
23、main(void) static int aN+1,bN+1; int i,j,s,m,p; scanf("%d%d",&s,&m); for (i=1;i<=N;i+) ai=i; i=s-1;j=0;p=0; while (p<N) i+; bh: if (i>N) i-=N; if (ai=0) i+;goto bh; j+; if (j%m=0) p+;bp=ai;ai=0;j=0; for (i=1;i<=N;i+) printf("%3d",bi); printf("n");/xt
24、030407.cpp#include <stdio.h>void main()int i,j,s=0,ave,v3;static int a53= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 for(i=0;i<3;i+) for(j=0;j<5;j+) s=s+aji; vi=s/5; s=0;ave=(v0+v1+v2)/3;printf("math:%dnc languag:%dndbase:%dn",v0,v1,v2
25、);printf("total ave:%dn",avel);/xt030408.cpp#include <stdio.h>void main() int i,j,a1010, b=1,2,3,4,5,6,7,8,9,10; for(i=0;i<10;i+) a0i=bi; for(i=1;i<10;i+) for(j=0;j<10;j+) if(i>j) aij=aji;else aij=ai-1j-1;for(i=0;i<10;i+) for(j=0;j<10;j+) printf("%dt",aij)
26、; printf("n"); /xt030409.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>#define SIZE 5000#define N 7void main() int x,y,aN=0,0,0,0,0,0,0,s; srand(unsigned)time(NULL); x=0; while(x<SIZE) s=rand()%6+1; if(s>0&&s<7) as+; x+; printf("
27、;nRandomiz 1-6 list n"); for(x=1;x<N;x+) s=ax*0.07; for(y=0;y<s;y+)printf("%d",x);printf("t%dt%2.1f%n",ax,(float)ax*100/SIZE); /xt030410.cpp#include <stdio.h>#define N 20int main() int x,s,tag; char aN; printf("Please input numbers and it's length less t
28、hen %d:",N-1); s=1; while(s<N) scanf("%c",&as); if(as=10)break; s+; printf("nThe numbers is :n"); for(x=1;x<s;x+) printf("%c",ax); tag=0; for(x=1;x<s/2;x+) if(ax!=as-x) tag=1; break; if(tag=0)printf("nThe number is palindrome!"); else printf(
29、"nThe number isn't palindrome!");習題4一、 單項選擇題ABACA BCBDD二、 填空題 主 main函數(shù) main函數(shù) 個數(shù) 類型 順序 函數(shù)類型 float(float x,int n) f(x,n) x*f(x,n-1) 三、閱讀程序題1 x=5,y=252. y=170.03. s1=3.14,s2=5.14 4. 5002 5. 5,3 6. 3.00,1.00,0.25四、程序設計題/xt040401.cpp #include <stdio.h> void main( ) void dis(int n);in
30、t n;scanf("%d",&n);dis(n); void dis(int n) int k0,k,sum,i;k0=1;dok=k0;sum=0;for(i=1;i<=n;i+)sum=sum+k;k=k+2;if(sum=n*n*n)break;elsek0=k0+2;while(1);for(i=1;i<=n;i+)printf("%5d",k0);k0=k0+2;/xt040402.cpp#include <stdio.h>void main( )float h(int n,float x);int n;flo
31、at x;scanf("%d,%f",&n,&x);printf("h(%d,%f)=%f",n,x,h(n,x);float h(int n,float x)if(n=0)return 1;else if(n=1)return(2*x);elsereturn(2*x*h(n-1,x)-2*(n-1)*h(n-2,x);/xt040403.cpp#include <stdio.h>void main()int f(int n);int i;for(i=2;i<=1000;i+)if(f(i)printf("%6
32、d",i);int f(int n)if(n=n*n%10|n=n*n%100|n=n*n%1000)return 1;elsereturn 0;/xt040404.cpp#include <stdio.h>void main( )long fun(int a,int n);int k,n;scanf("%d,%d",&k,&n);printf("%ldn",fun(k,n);long fun(int a, int n)int j;long s=0,t=0;for(j=1;j<=n;j+)t=t*10+a;s=
33、s+t;return s;/xt040405.cpp#include <math.h>#include <stdio.h>void main()int num,middle1,middle2;int detect(int d);printf("Please input a positive even number(>=6):");scanf("%d",&num);for(middle1=2;middle1<=num/2;middle1+=1)if(detect(middle1)middle2=num-middl
34、e1;if(detect(middle2)printf("%d=%d+%dn",num,middle1,middle2);break;int detect(int d)int i;for(i=2;i<=sqrt(d*1.0);i+)if(d%i=0)return(0);return 1;/xt040406.cpp#include <stdio.h>void main()float f(float x,int n);float x,an;int n;scanf("%f,%d",&x,&n);an=f(x,n);printf
35、("an=%fn",an);float f(float x,int n)if(n=0)return 1;elsereturn x/n*f(x,n-1);/xt040407.cpp#include <stdio.h>void main()float f(float x,int n);float x,fn;int n;scanf("%f,%d",&x,&n);fn=f(x,n);printf("an=%fn",fn);float f(float x,int n)if(n=0)return 1;else if(n
36、>0)return x*f(x,n-1);elsereturn f(x,n+1)/x;/xt040408.cpp#include <stdio.h>void main( )void f(int n);int n; scanf("%d",&n);while(n<=0)scanf("%d",&n);f(n);void f(int n)if(n/10=0)putchar(n%10+'0');elseputchar(n%10+'0');f(n/10);/xt040409.cpp#includ
37、e <stdio.h>void main( )void f(int n);int n; scanf("%d",&n);while(n<=0)scanf("%d",&n);f(n);void f(int n)if(n/10)f(n/10);putchar(n%10+'0'); /xt040410.cpp#include <stdio.h>void main()int f(int n);int n;for(n=2;n<=1000;n+)if(f(n)printf("%d is a
38、完數(shù)n",n);int f(int n)int i,s=0;for(i=1;i<n;i+)if(n%i=0)s=s+i;if(s=n)return 1;elsereturn 0;習題5一、單項選擇題AACCA DDACB二、填空題 “char *func1()”定義一個返回字符指針值的函數(shù),“char(*func2)()”定義一個指向函數(shù)的指針 一個返回值為單精度類型指針的函數(shù)名; (*p)(a,b,c) findmin (*f)(x,y,z); 三、閱讀程序題112025,4,3344155112649111131315/xt050401.cpp#include "
39、stdio.h"void main()void f(int,int,int);int a,b,c;void (*p)(int,int,int);scanf("%d%d%d",&a,&b,&c); p=f;(*p)(a,b,c); void f(int x,int y,int z) int t;if(x<y)t=x,x=y,y=t;if(y<z)t=z,z=y,y=t;if(x<y)t=x,x=y,y=t; printf("%5d%5d%5dn",x,y,z);/xt050402.cpp#include
40、<stdio.h>int max(int a,int b)if(a>b)return a;else return b;void main()int max(int a,int b);int(*pmax)(int,int);int x,y,z;pmax=max;printf("input two numbers:n");scanf("%d%d",&x,&y);z=(*pmax)(x,y);printf("maxmum=%d",z);/xt050403.cpp#include "stdio.h&
41、quot;void gcd(int x,int y)int temp;while(y!=0)temp=x%y;x=y;y=temp;printf("The greatest common divisor is:%dn",x);void lcm(int x,int y)int temp,m,n;m=x;n=y;while(x!=0)temp=y%x;y=x;x=temp;printf("The lowest common multiple is:%dn",m*n/y);void main()int a,b;void (*p)(int,int);printf
42、("Please input a and b:");scanf("%d%d",&a,&b);if(a>b)p=gcd;elsep=lcm;(*p)(a,b);/xt050404.cpp#include "stdio.h"void main()int x,y; int sum(int,int),diff(int,int),product(int,int); void mma(int x,int y,int s(int,int); printf("Please input x,y:n"); sca
43、nf("%d%d",&x,&y); printf("The sum of x and y is:"); mma(x,y,sum); printf("The difference of xa nd y is:"); mma(x,y,diff); printf("The product of x and y is:"); mma(x,y,product); int sum(int x,int y) return x+y;int diff(int x,int y) return x-y;int produ
44、ct(int x,int y)return x*y;void mma(int a,int b,int s(int,int)int w;w=s(a,b);printf("%dn",w);/xt050405.cpp#include <stdio.h>double func1(int x),func2(int y);void main()double (*fptr)(int); /*定義指向函數(shù)的指針變量fptr*/int n;printf("input a number:");scanf("%d",&n);if(n&g
45、t;1) if(n%2=0)fptr=func1;/*n為偶數(shù),指針變量ptr指向函數(shù)func1()*/elsefptr=func2; /*n為奇數(shù),指針變量ptr指向函數(shù)func2()*/printf("value=%9.4fn",(*fptr)(n);else printf("error!n");double func1(int x)int k;double value;value=1.0;for(k=2;k<=x;k=k+2)value=value+1/(double)k; return value;double func2(int y)in
46、t k;double value;value=1.0;for(k=3;k<=y;k=k+2)value=value+1/(double)k; return value;/xt050406.cpp#include "stdio.h"#include "math.h"void main()int n,yinzi(int),(*f)(int);f=yinzi;printf("input a number n:");scanf("%d",&n);if(*f)(n)=2)printf("n%d is
47、a prime number.",n);elseprintf("n%d is not a prime number.",n); int yinzi(int x)int i,k=0,q=(int)sqrt(x);for(i=1;i<=q;i+)if(x%i=0)k+=2; printf("%5d%5d",i,x/i);return k;/xt050407.cpp#include <stdio.h>#include <math.h>double f1(double x)return x*x*log(x);double
48、f2(double x)return x*sin(x);double f3(double x)return x/exp(x);double collect(double (*p)(double x),double a,double b,double n)int i;double h,area;h=(b-a)/n;area=(*p)(a)+(*p)(b)/2.0;for(i=1;i<n;i+)area+=(*p)(a+i*h);return(area*h);void main()double y1,y2,y3; y1=collect(f1,1.0,2.0,1000);y2=collect(
49、f2,0.0,3.0,500);y3=collect(f3,0.0,1.0,10000);printf("y1=%6.2f y2=%6.2f y3=%6.2fn",y1,y2,y3);/xt050408.cpp#include "stdio.h"#include "math.h"int root(double *x,int m,double eps,double (*f)(double)double x0;dox0=*x;*x=(*f)(x0);m=m-1;while(m!=0)&&(fabs(*x-x0)>=e
50、ps);if(m=0) return (0);return (1);double f1(double x)return(1.0+atan(x);double f2(double x)return(0.5*cos(x);double f3(double x)return(6.0+3*x-x*x)/4);/* x=(6+3*x-x*x)/4*/void main()double x,(*p)(double);x=1.0;p=f1;if(root(&x,50,0.00001,p)printf("x1=%fn",x);p=f2;if(root(&x,50,0.000
51、01,p)printf("x1=%fn",x); p=f3;if(root(&x,50,0.00001,p)printf("x1=%fn",x); /xt050409.cpp#include "stdio.h"int * f(int p,int q,int m)int i;for(i=0;i<m;i+)qi=pi*pi;return q;void main()int a6=1,2,3,4,5,6,i,*k;int b6;k=f(a,b,6);for(i=0;i<6;i+)printf("%5d"
52、,ki);/xt050410.cpp#include <stdio.h>#include <stdlib.h>void main()int wanshu(int x);int *ptr;ptr=(int *)malloc(sizeof(int);if(ptr=NULL)printf("Failed to create a new object."); exit(0); scanf("%d",ptr); if(wanshu(*ptr)printf("%d is a 完數(shù):",*ptr); elseprintf(&
53、quot;%d is not a 完數(shù):",*ptr);free(ptr);int wanshu(int x)int i=1,sum=0;while(i<x)if(x%i=0)sum+=i;i+;if(sum=x)return 1;elsereturn 0;習題6一、 單項選擇題BDACD CACAD二、 填空題 是其值可以是二級地址(指針) 是其值可以是多級地址址(指針) 沿著數(shù)組所占據(jù)的存儲區(qū)域向前和向后移動多個或者是一個數(shù)組元素 可以在程序的運行過程中根據(jù)需要創(chuàng)建的數(shù)組 int *v, int *key a, &key add-a &n三、 閱讀程序題1.
54、 112. 26893. 3 5 7 9 114. 1 4 7 0 85. 13 12 0 0 03 3 3 3 36 8 11 3 38 9 3 3 33 3 3 3 36 1 1 1 1 1 14 13 1 1 1 1 1 1 1 1 4 6 9 1 1 6 7 1 1 1四、 程序設計題/xt060401.cpp#include <stdio.h> void main() int yh11,row,col,i; *(yh+1)=1;for(i=0;i<40-2;i+)printf(" "); printf("%4dn",*(yh+1);for(row=2;row<=10;row+)*(yh+row)=1;/*每行的最后一個元素值為1*/for(col=row-1;col>=2;col
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- YY/T 1949-2024人工智能醫(yī)療器械數(shù)據(jù)集專用要求:糖尿病視網(wǎng)膜病變眼底彩照
- 度合同制速記服務與保密全文
- 水產(chǎn)養(yǎng)殖合同范本專業(yè)版
- 租賃合同范本:車輛租賃協(xié)議
- 建筑設計服務合同樣本版
- 生態(tài)林地保護承包合同書樣本
- 企業(yè)貸款合同、利息計算標準
- 企業(yè)風險控制反擔保合同模板
- 公租房解除合同范本
- 化工原料采購合同范本大全
- DLT 5630-2021 輸變電工程防災減災設計規(guī)程-PDF解密
- 2024年新疆維吾爾自治區(qū)專升本考試大學政治測試題含解析
- 邊坡噴錨施工工藝
- 2016-2023年婁底職業(yè)技術學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 海鮮酒樓營銷策劃方案
- 電能計量裝置配置規(guī)范
- 有償義工招募方案
- 冬春季節(jié)傳染病防控(流感)
- 潛在供應商審核報告模版13-02
- 《臨床疾病概論》課件
- 安全生產(chǎn)費用使用臺賬
評論
0/150
提交評論