为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

重庆大学C程序课后答案

2012-03-15 50页 doc 212KB 157阅读

用户头像

is_845546

暂无简介

举报
重庆大学C程序课后答案《程序设计技术》(第三版)习题参考答案 习题1 一、单项选择题 DADDD B CCD(注:第7小题无正确选项,正确答案为-12) 二、填空题 ① 主 ② main ③ x=x*(x+b) ④ 普通、格式、分隔和转义 ⑤ 指定输出数据格式 ⑥ void main() ⑦ "how are you! " 三、阅读程序题 1. 9,11,9,10 2. 2,-1,-1 3. aa bb cc abc 4. 2,2 5. 57 ...
重庆大学C程序课后答案
《程序技术》(第三版)习题参考答案 习题1 一、单项选择题 DADDD B CCD(注:第7小题无正确选项,正确答案为-12) 二、填空题 ① 主 ② main ③ x=x*(x+b) ④ 普通、格式、分隔和转义 ⑤ 指定输出数据格式 ⑥ void main() ⑦ "how are you! " 三、阅读程序题 1. 9,11,9,10 2. 2,-1,-1 3. aa bb cc abc 4. 2,2 5. 57 5 7 67.5864000,-789.124023 67.5864000, -7.89e+002 67,86, -789.12,67.5864000, -789.124023, 67.5864000, -789.124023 6.758640e+001, -7.89e+002 A,65,101,41 1234567,4553207,12d687 65535,177777,ffff,65535 COMPUTER, COM. 6. a + c = 102 a + c = f f + m = 17.950000 a + m = 17.650000 c + f = 102.300000 double = 1746.150019 四、程序设计题 //xt010401.cpp #include #define PI 3.1415926 void main() { double r,h; printf("请输入半径r和高h:"); scanf("%lf,%lf",&r,&h); printf("圆半径: %lf\n",2*PI*r); printf("圆面积:%lf\n",PI*r*r); printf("圆球表面积:%lf\n",4*PI*r*r); printf("圆球体积:%lf\n",4.0/3*PI*r*r); printf("圆柱体积:%lf\n",PI*r*r*h); } //xt010402.cpp #include void main() { int c; printf("Input a character:"); c=getchar(); printf("%c\t%d\n",c,c); } //xt010403.cpp #include void main() { int x,y,h=30,f=90; x=(4*h-f)/2; y=(f-2*h)/2; printf("鸡:%d, 兔:%d\n",x,y); } //xt010404.cpp #include #include void main() { double a,b,c,s,area; printf("请输入三角形的三条边长(注意三条边长应能够构成三角形):"); scanf("%lf,%lf,%lf",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("三角形的面积是: %lf\n",area); } //xt010405.cpp #include void main() { double f,c; printf("请输入华氏温度:"); scanf("%lf",&f); c=5.0/9.0*(f-32); printf("与华氏温度%.2lf对应的摄氏温度是:%.2lf\n",f,c); } //xt010406.cpp #include 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); putchar(c3+5); putchar(c4+5); putchar(c5+5); printf("\n"); } 习题2 一、 单项选择题 CBADC CCAAC 二、填空题 ① a+b==0&&a*b!=0 ② 逻辑与 ③ 逻辑或 ④ continue ⑤ (c= getchar ())!='\n' ⑥ %c 三、阅读程序题 答案: 答案: 该程序所完成功能的函数关系为: 答案: 答案: 答案: 答案: 四、程序设计题 /* xt020401.cpp */ #include void main() { int num; printf("**** Input num: ****\n"); scanf("%d",&num); if(num%3==0&&num%5==0&&num%7==0) printf("** YES ! **\n"); else printf("** NO ! **\n"); } /* xt020402.cpp */ #include void main() { int h=0; float x,y,x0=2,y0=2,d1,d2,d3,d4; printf("*** input: x,y ***\n"); scanf("%f,%f",&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=%f\n",x,y); printf("h=%d\n",h); } /* xt020403.cpp */ #include 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("%d\n",n); } } /* xt020404.cpp */ #include #include #define EPS 1.0e-6 void main() { float e=1,t; long int j=1,n=1; do { j=j*n; t=1.0/j; e=e+t; n++; }while ( fabs(t) >= EPS ); printf("e=%f\n",e); } /* xt020405.cpp */ #include void main() { int num=1; do { if((num+3)%5==0&&(num-3)%6==0) break; num+=1; }while(1); printf("num=%d\n",num); } /* xt020406.cpp */ #include void main() { int num; for(num=1;num<=99;num++) if(num*num%10==num||num*num%100==num) printf("%4d,%5d",num,num*num); printf("\n"); } /* xt020407.cpp */ #include 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=%f\n",4*s); } /* xt020408.cpp */ #include 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=%d\n",n10,n5,n2,n1); } } /* xt020409.cpp */ #include void main() { float sn=100,hn=sn/2; int n=2; while(n<=10) { sn+=2*hn; hn=hn/2; n++; } printf("%f,%f\n",sn,hn); } /* xt020410.cpp */ #include void main() { int day,x1,x2=1; for(day=9;day>0;day--) { x1=(x2+1)*2; x2=x1; } printf("Total=%d\n",x1); } 习题3 单项选择题 BBCAC DDABB 填空题 ① 9 ② 0 ③ 10 ④ x ⑤ 一致 ⑥ n/2 ⑦ sum+a ⑧ sum/n 三、阅读程序题 1. 2 4 6 2. s=30 3. 5 9 45 8 42 4. lanuge 5. 8 1 6 3 5 7 4 9 2 6. max=10,row=2,colum=1 四、程序设计题 //xt030401.cpp #include #include #include void main(void) {    int num[10], a;;    srand((unsigned)time(NULL));    printf("请输入一个2位数,试试您是否能中奖:"); scanf("%d",&a);    for(int i=0;i<10;i++)       { num[i] = (rand()+10)%100;       if(a == num[i])       printf("猜中一个数 %d 下标是 %d",a,i);       }    } printf("-------------------------\n");    for( i=0; i<10; i++) printf("%d\t ",num[i]); } //xt030402.cpp #include #include #include void main(void) { int a[5]={23,45,60,67,88},x,i,j,yes=0; for(i=0;i<5;i++) printf("%d,",a[i]); printf("\nwhich number do you want to delete?\n"); scanf("%d",&x); for(i=0;i<5;i++) if(a[i]==x) { yes=1; for(j=i;j<5;j++) a[j]=a[j+1]; } if(yes==1) for(i=0;i<4;i++) printf("%d,",a[i]); else printf("The number you want doesn't exist"); } //xt030403.cpp #include #include #include #define SIZE 1000 void main() { int x,a[SIZE],size,sum=0;    srand((unsigned)time(NULL)); while((size=rand()%1000)>200); printf("\nRandomiz list size(<1000):%d",size); printf("\nAuto make a %d size of list:\n",size); for(x=0;x #include #include #define SIZE 100 void main() { int x,a[SIZE],max=0,min=1000,b1,b2;   srand((unsigned)time(NULL)); printf("\nAuto make a %d size of list:\n",size); for(x=0;xmax) max=a[x],b1=x; if(a[x] #define SIZE 100 #define KIND 5 void main() { int x,y,len,total[KIND+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(a[0]); for(x=0;x int main(void) { static int a[N+1],b[N+1]; int i,j,s,m,p; scanf("%d%d",&s,&m); for (i=1;i<=N;i++) a[i]=i; i=s-1;j=0;p=0; while (pN) i-=N; if (a[i]==0) {i++;goto bh;} j++; if (j%m==0){ p++;b[p]=a[i];a[i]=0;j=0; } } for (i=1;i<=N;i++) printf("%3d",b[i]); printf("\n"); } //xt030407.cpp #include void main() { int i,j,s=0,ave,v[3]; static int a[5][3]={ {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+a[j][i]; v[i]=s/5; s=0; } ave=(v[0]+v[1]+v[2])/3; printf("math:%d\nc languag:%d\ndbase:%d\n",v[0],v[1],v[2]); printf("total ave:%d\n",avel); } //xt030408.cpp #include void main() { int i,j,a[10][10], b[]={1,2,3,4,5,6,7,8,9,10}; for(i=0;i<10;i++) a[0][i]=b[i]; for(i=1;i<10;i++) for(j=0;j<10;j++) if(i>j) a[i][j]=a[j][i]; else a[i][j]=a[i-1][j-1]; for(i=0;i<10;i++) { for(j=0;j<10;j++) printf("%d\t",a[i][j]); printf("\n"); } } //xt030409.cpp #include #include #include #define SIZE 5000 #define N 7 void main() { int x,y,a[N]={0,0,0,0,0,0,0},s;   srand((unsigned)time(NULL)); x=0; while(x0&&s<7) { a[s]++; x++; } } printf("\nRandomiz 1-6 list \n"); for(x=1;x #define N 20 int main() { int x,s,tag; char a[N]; printf("Please input numbers and it's length less then %d:",N-1); s=1; while(s void main( ) { void dis(int n); int n; scanf("%d",&n); dis(n); } void dis(int n) { int k0,k,sum,i; k0=1; do { k=k0; sum=0; for(i=1;i<=n;i++) { sum=sum+k; k=k+2; } if(sum==n*n*n) break; else k0=k0+2; }while(1); for(i=1;i<=n;i++) { printf("%5d",k0); k0=k0+2; } } //xt040402.cpp #include void main( ) { float h(int n,float x); int n; float 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); else return(2*x*h(n-1,x)-2*(n-1)*h(n-2,x)); } //xt040403.cpp #include void main() { int f(int n); int i; for(i=2;i<=1000;i++) if(f(i)) printf("%6d",i); } int f(int n) { if(n==n*n%10||n==n*n%100||n==n*n%1000) return 1; else return 0; } //xt040404.cpp #include void main( ) { long fun(int a,int n); int k,n; scanf("%d,%d",&k,&n); printf("%ld\n",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=s+t; } return s; } //xt040405.cpp #include #include 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-middle1; if(detect(middle2)) { printf("%d=%d+%d\n",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 void main() { float f(float x,int n); float x,an; int n; scanf("%f,%d",&x,&n); an=f(x,n); printf("an=%f\n",an); } float f(float x,int n) { if(n==0) return 1; else return x/n*f(x,n-1); } //xt040407.cpp #include void main() { float f(float x,int n); float x,fn; int n; scanf("%f,%d",&x,&n); fn=f(x,n); printf("an=%f\n",fn); } float f(float x,int n) { if(n==0) return 1; else if(n>0) return x*f(x,n-1); else return f(x,n+1)/x; } //xt040408.cpp #include 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'); else { putchar(n%10+'0'); f(n/10); } } //xt040409.cpp #include 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 void main() { int f(int n); int n; for(n=2;n<=1000;n++) if(f(n)) printf("%d is a 完数\n",n); } int f(int n) { int i,s=0; for(i=1;i 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" void gcd(int x,int y) { int temp; while(y!=0) { temp=x%y; x=y; y=temp; } printf("The greatest common divisor is:%d\n",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:%d\n",m*n/y); } void main() { int a,b; void (*p)(int,int); printf("Please input a and b:"); scanf("%d%d",&a,&b); if(a>b) p=gcd; else p=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"); scanf("%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 product(int x,int y) { return x*y; } void mma(int a,int b,int s(int,int)) { int w; w=s(a,b); printf("%d\n",w); } //xt050405.cpp #include double func1(int x),func2(int y); void main() { double (*fptr)(int); /*定义指向函数的指针变量fptr*/ int n; printf("input a number:"); scanf("%d",&n); if(n>1) { if(n%2==0) fptr=func1;/*n为偶数,指针变量ptr指向函数func1()*/ else fptr=func2; /*n为奇数,指针变量ptr指向函数func2()*/ printf("value=%9.4f\n",(*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) { int 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 a prime number.",n); else printf("\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 #include double f1(double x) { return x*x*log(x); } double 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=eps)); 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=%f\n",x); p=f2; if(root(&x,50,0.00001,p)) printf("x1=%f\n",x); p=f3; if(root(&x,50,0.00001,p)) printf("x1=%f\n",x); } //xt050409.cpp #include "stdio.h" int * f(int p[],int q[],int m) { int i; for(i=0;i #include 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 完数:",*ptr); else printf("%d is not a 完数:",*ptr); free(ptr); } int wanshu(int x) { int i=1,sum=0; while(i void main() { int yh[11],row,col,i; *(yh+1)=1; for(i=0;i<40-2;i++) printf(" "); printf("%4d\n",*(yh+1)); for(row=2;row<=10;row++) { *(yh+row)=1; /*每行的最后一个元素值为1*/ for(col=row-1;col>=2;col--) /*生成一行*/ *(yh+col)=*(yh+col)+*(yh+col-1); for(i=0;i<40-2*row;i++) /*输出合适的空格*/ printf(" "); for(col=1;col<=row;col++) /*输出一行*/ printf("%4d",*(yh+col)); printf("\n"); } } //xt060402.cpp #include #include #include void main() { int a[10][5],b[10],i,j; srand(time(NULL)); for(i=0;i<10;i++) for(j=0;j<5;j++) *(a[i]+j)=rand()%100; for(i=0;i<10;i++) { *(b+i)=a[i][0]; for(j=0;j<5;j++) if(*(b+i)<*(*(a+i)+j)) *(b+i)=*(*(a+i)+j); } for(i=0;i<10;i++) { for(j=0;j<5;j++) printf("%4d",a[i][j]); printf("\t%4d\n",b[i]); } } //xt060403.cpp #include #include #include int delmem(int *v,int n,int del); void main() { int *a,i,n,del; srand(time(NULL)); printf("请输入处理的数组长度: "); scanf("%d",&n); a=(int *)malloc(sizeof(int)*n); for(i=0;i #include #include #define N 15 void main() { int score[N][4]={0},i,j,x; srand(time(NULL)); for(i=0;i #include #include #define N 15 void main() { int score[N][4]={0},i,j,x; int t[4]; srand(time(NULL)); for(i=0;i
/
本文档为【重庆大学C程序课后答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索