文档详情

重庆大学C程序课后答案

无***
实名认证
店铺
DOCX
50.47KB
约129页
文档ID:167105806
重庆大学C程序课后答案_第1页
1/129

《程序设计技术》(第三版)习题参考答案习题1 ー、单项选择题DADDD B CCD (注:第フ小题无正确选项,正确答案为ー12)二、填空题①主② main③ x=x* (x+b)④普通、格式、分隔和转义⑤指定输出数据格式⑥ void main()⑦"how are you!"三、阅读程序题1. 9,11, 9, 102. 2,-1,-13. aa bb cc abc4. 2,25. 575 767. 5864000,-789. 12402367. 5864000, -7. 89e+00267, 86, -789. 12, 67. 5864000, -789. 124023, 67. 5864000,-789.1240236. 758640e+001, -7. 89e+002A,65, 101,411234567, 4553207, 12d68765535, 177777, ffff, 65535 COMPUTER, COM.6. a + c = 102a + c = ff + m = 17. 950000a + m = 17. 650000c + f = 102.300000double = 1746. 150019四、程序设计题//xt010401.cpp#include #define PI 3. 1415926void ma in (){ double r, h;printf ("请输入半径r和高h:");scanf ("%lf,%lf",&r,&h);printf ("圆半径:%lf\n", 2*PI*r);printf ("圆面积:%lf\n", PI*r*r);printf ("圆球表面积:4*PI*r*r);printf ("圆球体积:%lf\n", 4. 0/3*PI*r*r);printf ("圆柱体积:%lf\n", PI*r*r*h);}//xt010402.cpp#include void ma in (){ int c;printf ("Input a character:");c=getchar ();printf ("%c\t%d\n", c, c);}//xt010403. cpp#include void ma in (){ 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 &b,&c);s=(a+b+c) /2;area=sqrt (s* (s-a) * (s-b) * (s-c));printf ("三角形的面积是:area);}//xt010405. cpp#include void main(){ double f, c;printf ("请输入华氏温度:“);scanf ("%lf",&f);c=5. 0/9. 0* (f-32);printf ("与华氏温度%. 2 If对应的摄氏温度是:%.21f\n",f,c);}//xt010406.cpp #include void main(){ char cl, c2, c3, c4, c5;printf ("请输入需加密的字符串(5个字符):");cl=getchar ();c2=getchar ();c3=getchar ();c4=getchar ();c5=getchar ();printf("加密后的字符串是:り;put char (cl+5);putchar (c2+5);put char (c3+5);putchar (c4+5);putchar (c5+5);printf ("\n");)习题2ー、单项选择题CBADC CCAAC二、填空题① a+b==O&&a*b!=O②逻辑与③逻辑或④ cont inue⑤(c= getchar ())!='\n‘⑥%c三、阅读程序题答案:x=ll,y=20 r1=1,z2=l答案:-1 (x < 0)sign(x) = <0 (x = 0)[1 (x>0)该程序所完成功能的函数关系为:答案:DCDEBCDEDBCDEDCBCDEDCDEDa=2, b=l答案:答案:答案:2*1*0$4*3*2$四、程序设计题/* 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");elsepr intf ("** NO ! **\n");)/* xt020402. cpp */#include void main(){ int h=0;float x, y, x0=2, y0=2, dl, d2, d3, d4;pr intf ("*** input: x, y ***\n");scanf ("%f, %f", &x, &y);dl= (x-xO) * (x-xO) + (y-yO) * (y-yO); /・点(x, y )到各中心点的 距离・/d2= (x-xO) * (x-xO) + (y+yO) * (y+yO);d3= (x+xO) * (x+xO) + (y-yO) * (y-yO);d4= (x+xO) * (x+xO) + (y+yO) * (y+yO); if (dl<=l||d2<=l||d3<=l||d4<=l) h=15;printf ("x=%f, y=%f\n", x, y);printf ("h=%d\n", h);}/* xt020403. cpp */#include void ma in (){ int i, j, k, n;for (n=l 00; 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. Oe-6void ma in ()(float e=l, t;long int j=l,n=l;do{ j=j*n;t=l.O/j;e=e+t;n++;} whi le ( fabs (t) >= EPS );pr intf ("e=%f\n", e);)/* xt020405. cpp */#include void ma in (){ int num=l;do{ i f ((num+3) %5==0&& (num-3) %6==0) break;num+=l;} wh i 1 e (1);pr intf("num=%d\n", num);}/* xt020406. cpp */#include void ma in (){ int num;f or (num=l; num<=99; num++)if (num*num%10==num||num*num%100==num) pr intf ("%4d, %5d", num, num*num);pr intf ("\n");}/* xt020407. cpp */#include void ma in (){ int n, k=l;float s=0;for (n=l; n<=10000; n++){ s=s+l. 0/ (2. 0*n-l) *k;k=-k;pr intf("PI=%f\n",4*s);/* xt020408. cpp */#include void main(){ int nlO, n5, n2, nl;for (nlO=l; nl0<=9; nlO++)for (n5=l; n5<=17; n5++)f or (n2=l; n2く =37; n2++){ nl=40-nl0-n5-n2;i f (nl>=l&&nl0*10+n5*5+n2*2+nl==100)pr intf ("nl0=%d, n5=%d, n2=%d, nl=%d\n", nlO, n5, n2, nl);}}/* xt020409. cpp */#include void ma in (){ 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 ma in (){ int day, xl, x2=l;f or (day=9; day>0; day一){ xl= (x2+l) *2;x2=xl;)printf ("Total=%d\n", xl);)习题3单项选择题BBCAC DDABB填空题②〇③10④x⑤一致⑥n/2⑦ sum+a⑧ sum/n三、阅读程序题1. 2 4 62. s=303. 5 9 45 8 424. lanuge5. 8 1 63 5 74 9 26. max=10, row=2, colum=l四、程序设计题//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 0 +10) %100;if (a == num [i])printf ("猜中一个数%d下标是%d", a, i);))pr intf (" \n");for ( i=0; i<10; i++)pr intf("%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=l;for (j=i; j<5; j++) a [j]=a [j+1];}if (yes==l) 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 1000void ma in ()(int x, a [SIZE], s ize, sum=0;srand ((unsigned)time(NULL));whi le ((s ize=rand 0 %1000) >200);printf ("\nRandomiz list s ize (<1000): %d",size);printf ("\nAuto make a %d size of list:\n",size);for (x=0; x#include #include #define SIZE 100void ma in ()(int x, a [SIZE], max=0, min=1000, bl, b2;srand ((unsigned)t ime (NULL));printf ("\nAuto make a %d size of list:\n",size);for (x=0; xmax) max=a [x], bl=x;if (a [x] #define SIZE 100#define KIND 5void main()(int x, y, len, total [KIND+1];inta [] = {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; xint main (void){ static int a[N+1], b[N+1];int i, j, s, m, p;scanf ("%d%d", & s, &m);for (i=l; i<=N; i++) a [i] =i;i=s-l; 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=l; i<=N; i++) pr intf ("%3d", b [i]);printf ("\n");}//xt030407. cpp#include void ma in ()(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];=s/5;s=0;}ave= (v [0] +v [1] +v [2]) /3;pr intf ("math: %d\nc languag: %d\ndbase: %d\n", v [0], v [1], v ⑵); printf ("total ave: %d\n", ave 1);}//xt030408. cpp#include void ma in ()(int i, j,a[10] [10], b[] = {l,2, 3,4,5,6,7,8,9,10);for (i=0; i<10; i++) a [0] [i] =b [i];for (i=l; i<10; i++)for (j=0; j<10; j++)if (i>j) a [i] [j]=a [j] [i];else a[i] [j]=a[i-l] [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#def ine N 7void main()(int x, y, a [N] = {0, 0, 0, 0, 0, 0, 0}, s;srand ((unsigned)t ime (NULL));x=0;while (x0&&s<7){ a [s]++;x++;})printf ("\nRandomiz 1-6 list \n");for (x=l; x#define N 20int main()(int x, s, tag;char a [N];pr intf ("Please input numbers and i tz s length less then %d: ",N-D;s=l;while (svoid main (){ void dis (int n);int n;scanf ("%d", &n);void dis (int n){ int kO, k, sum, i;kO=l;do{ k=kO;sum=0;for (i=l; i<=n; i++){ sum=sum+k;k=k+2;)if (sum==n*n*n) break;elsek0=k0+2;} whi le(l);for (i=l; i<=n; i++){ printf ("%5d",k0);k0=k0+2;//xt040402.cpp #include void ma in (){ float h (int n, float x);int n;float x;scanf ("%d, %f", &n, &x);pr intf ("h (%d, %f) =%f", n, x, h (n, x));}float h (int n, float x){ i f (n==0)return 1;else if (n==l)return (2*x);elsereturn (2*x*h (n-1, x) -2* (n-1) *h (n-2, x));}//xt040403. cpp#include void ma in (){ int f (int n);int i;f or (i=2; i<=1000; i++)if (f (i))pr intf ("%6d", i);}int f (int n){ i f (n==n*n%10||n==n*n%100||n==n*n%1000)return 1;elsereturn 0;)//xt040404. cpp#include void ma in (){ long fun (int a, int n);int k, n;scanf ("%d, %d", &k, &n);pr intf ("%ld\n", fun (k, n));)long fun(int a, int n){ int j;long s=0, t=0;for (j=l; j<=n; j++){ t=t*10+a;s=s+t;)return s;)//xt040405.cpp#include #include void ma in (){ int num, middlei,middle2;int detect (int d);printf ("Please input a pos i t ive even number (>=6):;scanf ("%d", &num);for (middlel=2; middlel<=num/2; middlel+=l)if (detect (middlel)){ m i dd1e2=num-m i dd1e1;if (detect (middle2)){ printf ("%d=%d+%d\n", num, middlel, middle2);break;int detect(int d){ int i;for (i=2; i<=sqrt (d*l. 0); i++)if (d%i==0)return (0);return 1;)//xt040406. cpp#include void ma in (){ 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){ i f (n==0)return 1;elsereturn x/n*f (x,n-1);//xt040407.cpp#include void ma in (){ float f (float x, int n);float x, fn;int n;scanf ("%f, %d", &x, &n);f n=f (x, n);pr intf("an=%f\n",fn);}float f (float x, int n){ i f (n==0)return 1;else if (n>0)return x*f (x,n-1);elsereturn 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+' O'); else{ putchar (n%10+z O');f (n/10);)}//xt 040409.cpp#include void main(){ void f (int n);int n;scanf ("%d", &n);scanf ("%d", &n);f (n);}void f (int n){ if (n/10)f (n/10);put char (n%10+, 〇');)//xt040410. cpp#include void ma in (){ int f (int n);int n;f or (n=2; n<=1000; n++)if (f (n))printf("%d is a 完数、n",n);}int f (int n){ int i, s=0;for (i=l; iint max (int a, int b){ if (a>b)return a;elsereturn b;}void ma in (){ int max (int a, int b);int (*pmax) (int, int);int x, y, z;pmax=max;pr intf("input two numbers: \n");scanf ("%d%d", &x, &y);z= (*pmax) (x, y);pr intf("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);i f (a>b)p=gcd;elsep=lcm;(*p) (a, b);}//xt050404. cpp#include "stdio. h"void ma in (){ 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 fund (int x), func2 (int y); void ma in (){ double (*fptr) (int); /・定义指向函数的指针变量fptr*/int n;printf ("input a number:");scanf ("%d", &n);if (n>l){ if (n%2==0)f ptr=funcl; /*n为偶数,指针变量ptr指向函数fund 0 */ elsefptr=func2; /*n为奇数,指针变量ptr指向函数 func2 () */printf ("value=%9. 4f\n", (*fptr) (n));)elseprintf ("error!\n");}double fund (int x){ int k;double value;value=l. 0;f or (k=2; k<=x; k=k+2)value=value+l/(double) k;return value;double func2(int y){ int k;double value;value=l. 0;f or (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=y inzi;pr intf (" input a number n:");scanf ("%d", &n);if ((*f) (n) ==2)pr intf ("\n%d is a pr ime number. ", n); elseprintf ("\n%d is not a pr ime number. ", n);}int yinzi (int x){ int i, k=0, q= (int) sqrt (x);for (i=l; i<=q; i++)if (x%i==0){ k+=2;printf ("%5d%5d", i, x/i);)return k;)//xt050407. cpp#include #include double fl(double x)(return x*x*log(x);}double f2 (double x)(return x*s in (x);double f3 (double x)return x/exp (x);double col lect(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=l; i=eps));if (m==0) return (0);return (1);}double fl (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 ma in (){ double x, (*p) (double);x=l. 0;P=fl;if (root (&x, 50, 0. 00001, p)) printf("xl=%f\n",x);p=f2;if (root (&x, 50, 0. 00001, p))printf("xl=%f\n",x);p=f3;if (root (&x, 50, 0. 00001, p)) printf("xl=%f\n",x);)//xt050409. cpp#include "stdio. h"int * f (int p [], int q [], int m){ int i;for (i=0; i#include void ma in (){ int wanshu (int x);int *ptr;ptr= (int *) ma 1 loc (s izeof (int));if (ptr==NULL){ printf("Failed to create a new object.");exit (0);scanf("%d",ptr);if(wanshu (*ptr))printf ("%d is a 完数:",*ptr);elseprintf ("%d is not a 完数:",*ptr);free (ptr);}int wanshu (int x){ int i=l, sum=0;while (ivoid ma in (){ int yh [11], row, col, i;* (yh+1) =1;for(i=0; i<40-2; i++)printfC ");pr intf ("%4d\n", * (yh+1));f or (row=2; row<=10; row++){ * (yh+row)=l; /・每行的最后ー个元素值为1*/for (col=row-l; col>=2; col—) /・生成一行・/* (yh+col) =* (yh+col) +* (yh+col-1);for (i=0; i<40-2*row; i++) /*输出合适的空格・/ pr intf ("");for (col=l; col<=row; col++) /・输出一行・/pr intf ("%4d", * (yh+col));printf("\n");//xt 060402.cpp #include くstdio. h>#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 0 %100;for (i=0; i<10; i++){ * (b+i)=a [i] [0];for (j=0; j<5; j++)i f (* (b+i) <* (* (a+i) + j))* (b+i) =* (* (a+i) +j);)for(i=0; i<10; i++){ for (j=0; j<5; j++)pr intf ("%4d", a [i] [ j]);printf("\t%4d\n",b [i]);//xt060403. cpp #include #include #include int delmem (int *v, int n, int del);void ma in (){ int *a, i, n, del;srand(t ime (NULL));printf("请输入处理的数组长度:");scanf ("%d", &n);a= (int *) ma 1 loc (s izeof (int) *n);for (i=0; i#include #include #def ine N 15void ma in (){ int score [N] [4] = {0}, i, j, x;srand (t ime(NULL));for (j=0; jく3; j++){ x=rand () %100;if (x<50)J ,elsescore [i] [ j] =x;)for (i=0; i#include #include void ma in (){ int score [N] [4] = {0}, i, j, x;int t [4];srand (t ime(NULL));for (i=0; i

下载提示
相关文档
正为您匹配相似的精品文档