1.单项选择题
(1)A (2)C (3)D (4)C (5)B 2.填空题 (1)函数
(2)主函数(main) (3)printf() , scanf() 第2章习题参 1.单项选择题
1-5 CBCCC 6-10 CDCDC 11-13 DBB 2.填空题
(10)11(11)((m/10)%10)*100+(m/100)*10+m%10(12)0 (
13
)
10
,9
,11
(
15
)
(x<0&&y<0)||(x<0&&z<0)||(y<0||z<0)(16)double (17)x==0(18)sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b)) 第3章习题参 1.单项选择题
1-5 CCCDD 6-10 BCDBC 11-15 BCBBB 16 A 2.填空题
(1)用;暗示停止(2){ }(3)y=x<0?1:x==0?0:-1 (4)y%4==0&&y%100!=0||y%400==0(5)上面未配对(6)default标号
(7)while , do while , for(8)do while(9)本次(10)本层
3.浏览程序,指出成果
(1)yes(2)*&(3)ABother(4)28 70(5)2,0(6)8(7)36
(8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12(11)i=6,k=4 (12)1,-2 4.程序填空 (1)x:y, u:z
(2)m=n , m!=0 ,m=m/10
(3)t (5)cx=getchar() , cx!=front , cx (6)double s=0 , 1.0/k , %lf (7)s>=0 , s (1). #include double x,y; scanf(\"%lf\ if(x<1) y=x; else if(x>=1.0&&x<10) y=2*x-11; else y=3*x-11; printf(\"%lf\\n\ return 0; } (2). #include double x,y,z,min; scanf(\"%lf%lf%lf\ if(x>y) min=y; else min=x; if(min>z) min=z; printf(\"min=%lf\\n\ return 0; } 编 程 题 (3). #include int y,m,d,flag,s=0,w,i; scanf(\"%d%d%d\ flag=(y%4==0&&y%100!=0||y%400==0); w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7; for(i=1;i<=m;i++) { switch(i) { case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case 6:s=151+d;break; case 7:s=181+d;break; case 8:s=212+d;break; case 9:s=243+d;break; case 10:s=273+d;break; case 11:s=304+d;break; case 12:s=334+d;break; } } if(flag==1&&m>2) s=s+1; s=(w+s)%7; if(s==0) printf(\"礼拜日\\n\"); else printf(\"礼拜%d\\n\ return 0; } (4). #include float p,r; scanf(\"%f\ if(p<=10) r=p*0.1; else if(p>10&&p<=20) r=10*0.1+(p-10)*0.075; else if(p>20&&p<=40) r=10*0.1+10*0.075+(p-20)*0.05; else if(p>40&&p<=60) r=10*0.1+10*0.075+20*0.05+(p-40)*0.03; else if(p>60&&p<=100) r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p>100) r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf(\"%f\\n\ return 0; } (5). #include while((c=getchar())!='\\n') { if(c>='a'&&c<='z') c=c-32; putchar(c); } return 0; } (6). #include int m,k=2; printf(\"输入一个正整数:\\n\"); scanf(\"%d\ while(k printf(\"%4d\\n\ return 0; } (7). #include int a,n,s=0,p=0,i; scanf(\"%d %d\ for(i=1;i<=n;i++) { p=p*10+a; s=s+p; } printf(\"%d\\n\ return 0; } (8). #include int i,j,k; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) printf(\"%5d\ return 0; } (9). #include float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do { x=(a+b)/2; f=(((2*x-4)*x+3)*x)-6; if(f*f1<0) { b=x; f2=f; } else { a=x; f1=f; } }while(fabs(f)>=1e-6); printf(\"%6.2f\\n\ return 0; } (10). #include int n=2; double eps,t,s=0,x; scanf(\"%lf %lf\ t=x; s=t; while(fabs(t)>=eps) { t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; } printf(\"%d,%lf\\n\ return 0; } (11). #include unsigned long s,t=0,p=1; scanf(\"%u\ while(s!=0) { if((s%10)%2!=0) { t=t+(s%10)*p; p=p*10; } s=s/10; } printf(\"%u\\n\ return 0; } 第4章习题参 1.单项选择题 1-5 DDDBD 6-10 BADCD 11-14 BDAB 2.填空题 (1)2(2)嵌套 , 递归 (3)全局变量 , 局部变量 , 静态变量 , 动态变量 (4)auto , static , register , extern (5)外部变量(6)编译 ,运行 3.浏览程序,指出成果 (1)15(2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2 (5)求水仙花数(6)-5*5*5(7)30 (8)0 10 1 11 2 12 4.程序填空 (1)float fun(float , float) , x+y,x-y , z+y,z-y (2)x , x*x+1 (3)s=0 , a=a+b 5.编程 (1). unsigned int p=0; #include 题 void f1(float,float,float,float); void f2(float,float,float,float); void f3(float,float,float,float);int main() { float a,b,c,d; scanf(\"%f %f %f\ if(a==0) { printf(\"不是一元二次方程\\n\"); exit(0); } d=b*b-4*a*c; if(d>0) f1(a,b,c,d); else if(d==0) f2(a,b,c,d); else f3(a,b,c,d); return 0; } void f1(float a,float b,float c,float d){ float x1,x2; { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf(\"%.2f ,%.2f\\n\ } } void f2(float a,float b,float c,float d){ float x1,x2; { x1=-b/(2*a); x2=-b/(2*a); printf(\"%.2f ,%.2f\\n\ } } void f3(float a,float b,float c,float d){ float x1,x2; { x1=-b/(2*a); x2=sqrt(-d)/(2*a); printf(\"%.2f+i*%.2f\\n\ printf(\"%.2f-i*%.2f\\n\ } } (3). #include int n; double x; do { scanf(\"%d\ }while(n<0); scanf(\"%lf\ printf(\"%lf\\n\ return 0; } double p(int n,double x) { double pn; if(n==0) pn=1; else if(n==1) pn=x; else pn=((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n; return pn; } (4). #include double fun(float); void display(float,int); int main() { float dep; int season; scanf(\"%f %d\ display(dep,season); return 0; } double fun(float d) { return d*RATE; } void display(float d,int s) { int i; printf(\"季度 利 余额\\n\"); printf(\"-------------------------------\\n\"); for(i=1;i<=s;i++) { printf(\"%-4d %-.2f %-.2f\\n\ printf(\"-------------------------------\\n\"); } } (5). #include int main() { printf(\"%lf\\n\ return 0; } double fun(void) { double s=0; int n=1; while((double)(2*n-1)/((2*n)*(2*n))>1e-4) { s=s+(double)(2*n-1)/((2*n)*(2*n)); n++; } return s; } (6). #include int w; scanf(\"%d\ printf(\"%d\\n\ return 0; } int fun(int w) { int n=1,p=1,m; m=w; while(m>10) { return w%p; } 第5章习题参 1.选择题: 1-5 C (B C) BBA 6-8 DDB 2.填空题 (1) 0,9(2) float realArray[100],char strArray[16],int intArray[1000] (3) 运算符 sizeof(4) 6字节 3.浏览程序,写出下面程序的运行成果 (1) aa bb cc dd (2) ab c d (3)ahAMa(4)0010(5) 1 3 4 5 (6)This is the title. Name 1 is Rosalinda Name 2 is Zeke The biggest name alpabetically is Zeke Both names are Rosalinda Zeke (7)0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 0 2 5 6 8 10 748 14 0 3 6 9 12 15 18 21 0 4 8 12 16 20 24 28 0 5 10 15 20 177 30 35 0 6 12 18 24 30 36 42 0 7 14 21 28 35 42 49 4.程序填空 (1) a[i][j] != a[j][i] , 1 (2) 0, a[i] < a[mini] , maxi = i , a[maxi] = a[mini] (3) int a[], int b[], b[i] = a[i], -999, arraycopy(a,b), b[i++] (4) a 1 int a[3][4] = {0, 2,9,7, 5,13,6,8, 27,11,1,3 }; int i,j,temp; for(i=0,j=0;j<4;j++){ temp = a[2-i][j]; a[2-i][j] = a[i][j]; a[i][j] = temp; } for(i=0;i<3;i++){ for(j=0;j<4;j++) printf(\"%3d\ printf(\"\\n\"); } return 0; } (2) #include static int a[6][6]; int i,j,t=1; for(i=0;i<6;i++){ t = i+1; for(j=0;jfor(i=0;i<6;i++){ for(j=0;j<6;j++) printf(\"%3d\ printf(\"\\n\"); } return 0; } (3) #include static int a[M][N],b[N][R],c[M][R]; int i,j,k; 2 printf(\"Matrix a:\\n\"); for( i = 0; i < M; i++ ) for( j = 0; j < N; j++ ) scanf( \"%d\ printf(\"Matrix b:\\n\"); for( i = 0; i < N; i++ ) for( j = 0; j < R; j++ ) scanf( \"%d\ for( i = 0; i < M; i ++ ) for( j = 0; j < N; j++ ) for( k = 0; k < R; k++) c[i][k] += a[i][j]*b[j][k]; for( i = 0; i < M; i++ ){ for( j = 0; j < R; j++ ) printf( \"%3d\ printf(\"\\n\"); } return 0; } (4) #include static int a[M]; int i,max = -1,min = 100,maxi,mini,temp; for( i = 0; i < M; i++ ) scanf( \"%d\间的值 for( i = 0; i < M; i++ ){ if( max < a[i] ){ max = a[i]; maxi = i; } if( min > a[i] ){ min = a[i]; mini = i; } } temp = a[maxi]; a[maxi] = a[mini]; a[mini] = temp; for( i = 0; i < M; i++ ) printf( \"%3d\ return 0; } 3(5) #include static int a[M][N]; int max = -1,sumcol=0,sumrow=0; int i,j,maxi,col; for( i = 0; i < M; i++ ){ sumrow = 0; for( j = 0; j < N; j++ ){ scanf( \"%d\ sumrow += a[i][j]; } if ( max < sumrow ){ max = sumrow; maxi = i; } } printf(\"which col sum will be caculated?(>0)\"); scanf(\"%d\ for( i = 0; i < M; i ++ ) sumcol += a[i][col-1]; printf(\"The %dth row's sum is max, max=%d\\n\ printf(\"The %dth column's sum=%d\\n\ return 0; } (6) #include static char str[M]; int i,count = 0; char ch; gets(str); fflush(stdin); //清空输入缓冲区,以便读入字符数据 printf(\"Which character will be found?\"); ch = getchar(); for( i = 0; i < strlen(str); i++ ) if( ch == str[i] ) count++; printf( \"The number of character '%c' is %d\\n\ 4 return 0; } (7) #include #define N 10 //同窗人数 #define M 5 //课程数 void enter_scores(void); void sort_scores(int score[][M], int average[N][3]); void disp_scores(int score[][M]); void histogram(int n, int score[][M]); void printchar(int n); static int score[N][M]; static int aver[N][3]; //第1列为均值,第2列原始次序,第3列为均值逆序int main() { int course; enter_scores(); printf(\"\\n===========Oringenal Score Start=========\\n\"); disp_scores(score); printf(\"\\n===========Oringenal Score End===========\\n\"); printf(\"\\n===========Sorted Score Start============\\n\"); sort_scores(score,aver); printf(\"\\n===========Sorted Score End==============\\n\"); printf(\"\\nWhich class will be statisticed?\\n\"); scanf(\"%d\ histogram(course, score); system(\"Pause\"); return 0; } /* 输入成绩 */ void enter_scores() { int i, j; for(i=0; i for( i = 0; i < N; i++ ) for ( j = 1; j < 3; j++ ) 5 aver[i][j] = i; } /* 成绩排序. */ void sort_scores(int score[][M], int average[N][3]) { int i,j,t; int temp,tempindex; for( i = 0; i < N - 1; i++ ) for( j = 0; j < N - 1 - i; j++ ) if ( average[j][0] < average[j+1][0] ) { temp = average[j][0]; average[j][0] = average[j+1][0]; average[j+1][0] = temp; tempindex = average[j][2]; average[j][2] = average[j+1][2]; average[j+1][2] = tempindex; } printf(\"\\n Score1 Score2 Score3 Score4 Score5\\n\"); for( i = 0; i < N; i++ ) { t = average[i][2]; for( j = 0;j < M; j++ ) { printf(\"%8d\ } printf(\"\\n\"); } } /* 输出成绩 */ void disp_scores(int score[][M]) { int i, j; printf(\"\\n Score1 Score2 Score3 Score4 Score5\\n\"); for( i = 0; i < N; i++ ) { for( j = 0;j < M; j++ ) printf(\"%8d\ printf(\"\\n\"); } } void printchar(int n) { 6 int i; for (i = 0; i < n; ++i) putchar('*'); } void histogram(int course, int score[][M]) { int i,temp; int segs[5] = {0}; int sc[N]; for( i = 0; i < N; i++ ) sc[i] = score[i][course]; for (i = 0; i < N; i++)/* 统计各分段人数 */ { temp = (int)sc[i]/10; segs[ temp<6?0:temp-5]++; /* 成绩/10,将成绩分段 */ } printf(\"\\nSegment Number\\n\"); for (i = 0; i < 5; i++) /* 输出直方图,每段的人数 */ { printf(\"<%3d: %5d| \ printchar(segs[i]); putchar('\\n'); } putchar('\\n'); } (8) #include static char str[M]; int i,count = 0; char ch = 0; gets(str); for( i = 0; i < strlen(str); i++ ) if( ch < str[i] ) ch = str[i]; for( i = 0; i < strlen(str); i++ ) if( ch == str[i] ) count++; printf( \" max = '%c' ,count = %d\\n\ return 0; } 7 第6章习题参 1.选择题: 1-5 BBDDA 6-10 CCABD 11-15 CBCDA 16A 2.填空题 (1) 常量,变量(2) 指针(3)2(4)12,12(5) a[0],a[3] 3.浏览程序,写出下面程序的运行成果 (1)5 (2)6 (3) abcdefglkjih (4) 976531 (5)5,9 (6)2,4,5,7,6,0,11,9,7,3, (7)string_a=I am a teacher. string_b=You are a student. string_a=I am a teacher. string_b=I am a teacher. 4.程序填空 (1) *p != '\\0', *p-'0', j— (2) i int a=3,b=7,c=2; int *ptra = &a,*ptrb = &b,*ptrc = &c; int temp; printf(\"a=%d,b=%d,c=%d\\n\ printf(\"*ptra=%d,*ptrb=%d,*ptrc=%d\\n\ if ( *ptra > *ptrb ) { temp = *ptra; *ptra = *ptrb; 1 *ptrb = temp; } if ( *ptra > *ptrc ) { temp = *ptra; *ptra = *ptrc; *ptrc = temp; } if ( *ptrb > *ptrc ) { temp = *ptrb; *ptrb = *ptrc; *ptrc = temp; } printf(\"a=%d,b=%d,c=%d\\n\ printf(\"*ptra=%d,*ptrb=%d,*ptrc=%d\\n\ return 0; } (2) #include void inputdata(int a[],int n); void process(int a[],int n); void outputdata(int a[],int n); int main() { int a[10],n=10; inputdata(a,n); outputdata(a,n); process(a,n); outputdata(a,n); system(\"Pause\"); return 0; } void inputdata(int a[],int n) //0~99之间的数 { int i; for( i = 0; i < n; i++ ) scanf(\"%d\} void outputdata(int *ptr,int n) { int i; 2 printf(\"\\n==========OutPut Data Start=============\\n\"); for( i = 0; i < n; i++ ) printf(\"%4d\ printf(\"\\n==========OutPut Data End================\\n\");} void process(int *ptr,int n) { int i,maxi,mini; int max=-1,min=101; for( i = 0; i < n; i++ ) { if ( max < *(ptr+i) ) { max = *(ptr+i); maxi= i; } if ( min > *(ptr+i) ) { min = ptr[i]; mini= i; } } if ( mini != 0) { i = ptr[0]; ptr[0] = ptr[mini]; ptr[mini] = i; } if (maxi != n-1) { i = ptr[n-1]; ptr[n-1] = ptr[maxi]; ptr[maxi] = i; } if (maxi == 0 && mini == n-1) { i = ptr[maxi]; ptr[maxi] = ptr[mini]; ptr[mini] = i; } } (3) #include 3int strLength (char *); int main() { static char str[81]; gets(str); printf(\"string \"%s\" length:%3d\\n\ system(\"Pause\"); return 0; } int strLength (char *s) { char *p=s; while (*p) p++ ; return (p-s) ; } (4) #include void Transpose (int (*a)[N],int (*T)[M]); int main( ) { static int a[M][N],T[N][M]; int i,j; for( i = 0; i < M; i++ ) for( j = 0; j < N; j++ ) scanf( \"%d\ printf(\"\\n======Oringinal Matrix Start=========\\n\"); for( i = 0; i < M; i ++ ) { for( j = 0; j < N; j++ ) printf( \"%4d\ printf(\"\\n\"); } printf(\"\\n======Oringinal Matrix End===========\\n\"); Transpose(a, T); printf(\"\\n======Transpose Matrix Start=========\\n\"); for( i = 0; i < N; i ++ ) { for( j = 0; j < M; j++ ) printf( \"%4d\ printf(\"\\n\"); } 4 printf(\"\\n======Transpose Matrix End===========\\n\"); return 0; } void Transpose (int (*a)[N],int (*T)[M]) { int i,j; for( i = 0; i < N; i++ ) for( j =0; j < M; j++ ) T[i][j] = a[j][i]; } (5) #include static char source[81],target[81]; int result; gets(source); gets(target); result = Strcmp(source,target); if (result) { if( result < 0 ) printf(\"%s < %s\\n\ else printf(\"%s > %s\\n\ } else printf(\"%s = %s\\n\ return 0; } int Strcmp(char *s,char *t) { while (*s && *t && (*s == *t)) { s++; t++; } return *s - *t; } (6) #include 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuoyibo.cn 版权所有 湘ICP备2023022426号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务