2024年2月4日发(作者:)
冰点论坛
习题1
1-1 填空题
1.
2.
3.
4.
函数
主函数main(),主函数main()
主函数main()
函数首部,函数体
5. {, }
6. /*, */
7. 顺序结构,选择结构,循环结构
8. .c, .obj, .exe
1-2 思考题
1. 结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。顺序结构,选择结构,循环结构
2. 算法是对具体问题求解步骤的一种描述。计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法
3. 语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。
4. 略
5. 略
1-3 编程题
1.
main()
{ float a=3, b=4, c=5, s, area;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%f ” , area );
}
2.
main()
{ printf(“******************************”);
printf(“* hello world *”);
printf(“******************************”);
冰点论坛
}
习题2
2-1 单选题
1~5 DBDCA 6~10 DCABA 11~14 BCA A
2-2 思考题
1.2.00000
2.1,0.5
3.9,2
4.6
5.100,d
6.(1)20 (2)0 (3)60
7. (1)10,6,4 (2)6,9,15 (3)3,60,83
8. 55
9.70
习题3
3-1单选题
1-5 BBDAB 6-10 DDBDC 11-15 AADCA 16-20 CBACC
3-2填空题
1. 3
2. 0261
3. 0x10
4. 0
5. 2, 1 互换a,b的值
6. 6.6
7. –03
8. 7
9. 5.0,4,c=3
10. i=10,j=20
11. (1) 65
(2) 65,A
21-25 ABDBB
冰点论坛
(3) 56.123400,123.456001
(4) 3.141600
(5) 8765.432
(6) 5.86400e+02
(7) 3.14160e+00
(8) 3.1416
(9) 8765
(10) 3.1416,8765.43
12. a=2 b=5x=8.8 y=76.34c1=65 c2=97
3-3 编程题
1.
main()
{ int x, y ;
scanf(“%d%d” , &x, &y);
printf(“x yn”);
printf(“%4d%4dn”, x, y );
printf(“%4o%4on”, x, y );
printf(“%4x%4xn”, x, y );
}
2.
main()
{ float a, b, h, s;
scanf(“%f%f%f”, &a, &b, &h );
s=(a+b)*h/2 ;
printf(“%8.1fn”, s);
}
3.
main()
{ char c;
scanf(“%c”, &c );
printf(“%c, %c, %cn”, c-1, c,
}
4.
main()
{ int a, a1, a2, a3;
scanf(“%d”, &a );
a1=a%10 ; a=a/10;
a2=a%10; a=a/10;
c+1 );
冰点论坛
a3=a%10;
printf(“%d%d%dn”, a1, a2, a3);
}
5.
main()
{ double a, b, c, ave;
scanf(“%lf%lf%lf”, &a, &b, &c );
ave=(a+b+c)/3 ;
printf(“%8.2fn”, ave);
}
6.
main()
{ int a, b, c, t;
scanf(“%d%d%d”, &a, &b, &c );
t=a; a=c; c=b ; b=t ;
printf(“a=%d, b=%d, c=%dn”, a, b, c );
}
习题4
4-1单选题
1~5 BADAC 6~10 DDACD 11~15 BBBAB
4-2填空题
1.1
(x>0) y=1
else if (x==0) y=0
else y=-1
3.(1) a>0 || b>0 (2) x>0 && x<=10
(3) a==1.5 && b==1.5 && c==1.5 (4)p 4.(1)0 (2)1 (3)1 (4)0 (5)0 5. max=(max=a>b?a:b)>c?max:c 6.-4 7.1 8.5,0,3 9.85 belongs to B 10. (1) (a==0) (2) (b==0) (3) (disc<0) 冰点论坛 4-3 编程题 1.#include “math.h” main() { float a,b,c,s,area; scanf(“%f,%f,%f”,&a,&b,&c); if (a+b>c && a+c>b && b+c>a) { s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“%f”,area); } } 2.main() { int x,y; scanf(“%d,%d”,&x,&y); if (x*x+y*y>1000) printf(“%dn”,(x*x+y*y)/100); else printf(“%dn”,x+y); } () { int x, scanf(“%d”,&x); if(x%3==0 && x%5==0 && x%7==0) printf(“yesn”); else printf(“non”); } 4.#include “math.h” main() { float x,y; scanf(“%f”,&x); if(x<-2) y=x*x-sin(x); else if (x<=2) y=pow(2,x)+1; else y=sqrt(x*x+x+1); printf(“%fn”,y); } 5. main( ) 冰点论坛 { long a,b,c,d,e,x; scanf("%ld",&x); a=x/10000;/*分解出万位*/ b=x%10000/1000;/*分解出千位*/ c=x%1000/100;/*分解出百位*/ d=x%100/10;/*分解出十位*/ e=x%10;/*分解出个位*/ if (a!=0) printf("there are 5, %ld %ld %ld %ld %ldn",e,d,c,b,a); else if (b!=0) printf("there are 4, %ld %ld %ld %ldn",e,d,c,b); else if (c!=0) printf(" there are 3,%ld %ld %ldn",e,d,c); else if (d!=0) printf("there are 2, %ld %ldn",e,d); else if (e!=0) printf(" there are 1,%ldn",e); } 6.1.程序分析: main( ) { long ge,shi,qian,wan,x; scanf("%ld",&x); wan=x/10000; qian=x%10000/1000; shi=x%100/10; ge=x%10; if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/ printf("this number is a huiwenn"); else printf("this number is not a huiwenn"); } 7. main() {float p,w,s,d,f; scanf(“%f,%,%f”,p,s,w); if (s>3000) d=0.15 else if( s>=2000) d=0.1; else if(s>=1000) d=0.08; else if(s>=500) d=0.05; else if(s>=250) d=0.02; else d=0 f=p*w*s*(1-d); printf(“%f”,f); } 冰点论坛 习题5 5-1单选题 1~5 CDACB 6~10 DCAAB 11~16 DBDBCB 5-2填空题 1.2 0 2.k=5,s=4 3.333 4.How Are You 5.2#18# 6.(1) i<10 (2) j%3!=0 7.(1) flag*(float)k/(k+1) (2) flag=-flag 8.(1) s=0,t=1; (2) t=t*x/i*pow(-1,i+1); (3) printf(“%f”,s); 9.(1) max=x (2) x!=-1 (3) scanf("%d", &x) 10. (1) n=1 (2) s 5-3 编程题 1. (1) main() { int i; lont s=0; for(i=1;i<=100;i++) s+=i*i; printf(“%ld”,s); } (2)main() { int i; lont p=1,s=0; for( i=1;i<=10;i++) {p=p*i; s+=p; } printf(“%ld”,s); } (3) main() { int i=1; lont p=1;float s=0; do{ s+=1.0/p; p*=++i; }while(1.0/p>1e-6) 冰点论坛 printf(“%f”,s); } (4)main() { int i=1, flag=1,pi=0; do{ s+=flag*1.0/(2*i-1); i++; }while(1.0/(2*i-1)>1e-6); printf(”%f”,s); } () {int m,n,t,a,b; scanf(“%d,%d” ,&m,&n) ; if (m a=m;b=n; t=m%n ; while(t) { m=n ; n=t ;t=m%n;} printf(”%d,%d”,n,a*b/n); } 3. main() {int x,y,s=1; scanf(”%d,%d ”,&x,&y) ; for( ;y>0 ;y--)s*=x ; printf(”%d,%d,%dn ”,s%10,s/10%10,s/100%10); } () {int i=1, k=2, sum=0; do{ sum+=k; k=k*2; i++; }while(sum<=100); printf(”total=%fn”, 0.4*sum/(i-1)); } 5. main() { int x,y,z; for( x=1 ; x<20 ;x++) for( y=1 ;y<33 ;y++) { z=100-x-y ; 冰点论坛 if (z>=0 && (5*x+3*y+z/3)-100<1e-5) printf(”x=%d,y=%d,z=%dn”,x,y,z) ; } } 6. main() {int j,k ; for( j=1 ;j<=4 ;j++) {for(k=1;k<=4-j;k++;)printf(” ”); for(k=1 ;k<=2*j-1 ;k++) printf(”*”) ; printf(”n”) ; } for( j=3;j>=1;j--) { for(k=1;k<=4-j;k++;)printf(” ”); for(k=1;k<=2*j-1;k++) printf(”*”); printf(”n”); } } 7.分析:其实此问题的解法非常简单。从数学上来说,可以用穷举法。比如让x从2开始,判断表达式“(x%3==2 && x%5==3 && x%7==2)”是否成立,若不成立,让x自增1,直到某个x满足条件了,则这个x即为所求。 程序如下: #include main() { int x=2; while(!(x%3==2 && x%5==3 && x%7==2)) { x++; } printf("x=%dn",x); } 程序运行结果: x=23 8分析:定义一个字符变量c和一个整型变量n,c用于接受从键盘输入的非回车行字符,n用于统计从键盘输入的非回车符字符的个数,也就是说,以(c=getchar())!='n'为循环条件,反复进行“n++;”的运算。 程序代码如下: #include void main(){ 冰点论坛 int n=0; char c; printf("input a string:n"); while((c=getchar())!='n') n++; printf("%d",n); } 9. 例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 main() { int i,j,k,n; printf("'water flower'number is:"); for(n=100;n<1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) { printf("%-5d",n); } } printf("n"); } () {int x,y,z; for( x=1 ;x<17 ;x++) for(y=1 ;y<25 ;y++) { z=30-x-y ; if( z>0 && 3*x+2*y+z==50) printf("man=%d, woman=%d,child=%dn”,x,y,z); } } 习题6 6-1单选题 1-5 CBBAD 6-10 DBAAC 11-15 CCDDC 16-20 BBABC 冰点论坛 6-2填空题 1. 120 2. x 3. 3,2,2,3 4. /I 5. 8,17 6. 9 7. 1.0/(i*i) 8. fun-in:30,20,10 fun-end:1015,35,1050 10,20,30 9. 012345 10. 93636 6-3 编程题 1. void zhuan( ) { char ch; while((ch=getchar())!=’n’) { if(ch>=’a’ && ch<=’z’) ch=ch-32; putchar(ch); } } 2. float expp(int n) { int k, fac=1; float sum=0; for(k=1; k<=n; k++) { fac*=k; sum+=1.0/fac ; } return(sum); } 3. int xy3( int x, int y) { int k, num=1; for(k=1;k<=y ; k++) num*=x ; num=num%1000 ; return num ; } 冰点论坛 4. void factors( int n) { int k; printf(“ %d its factors are: ” , n);
本文发布于:2024-02-04 09:31:57,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170701031753106.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |