【打基础】高级语言程序设计·厦大出版社 课后习题个人记录2
2012-09-23 00:32
423 查看
【前记】
大一时,贪玩
,没有认真地跟着忠孝教授好好学习C语言。后来虽然又花了些时间查阅,但总归没有花一段连续的时间来研读这本教材《高级语言程序设计》(厦门大学出版社·黄翠兰主编),趁着实习前的这段空闲时间,重新拿起学习,并认真做好课后的习题,做到每题都弄懂,打好基础!有闲暇了,数据结构和C++也每题必做!发到自己的博客上监督自己完成!
【第三章】
大一时,贪玩
,没有认真地跟着忠孝教授好好学习C语言。后来虽然又花了些时间查阅,但总归没有花一段连续的时间来研读这本教材《高级语言程序设计》(厦门大学出版社·黄翠兰主编),趁着实习前的这段空闲时间,重新拿起学习,并认真做好课后的习题,做到每题都弄懂,打好基础!有闲暇了,数据结构和C++也每题必做!发到自己的博客上监督自己完成!
【第三章】
1.把任意的三个数按大小顺序排列。 #include <stdio.h> int _max(int a,int b) { if (a>b) return a; else return b; } void main(){ int a,b,c,max; scanf("%d,%d,%d",&a,&b,&c); max = _max(_max(a,b),_max(b,c)); printf("max=%d\n",max); getch(); } 2.计算1-1/2+1/3-1/4+...+1/99-1/100的值。 #include <stdio.h> void main(){ float i=1.000; float a=0.000,b=0.000,c=0.000; for (i;i<=50;i+=2.000) { a = a+(1.000/i); b = b+(-1.000)*(1.000/(i+1)); printf("i:%f\n",i); printf("a=%f b=%f\n",a,b); } c = a+b; printf("a=%f,b=%f,c=%f\n",a,b,c); getch(); } 这代码,我看了都蛋疼! 3.编程判断输入整数的正负性和奇偶性。 #include <stdio.h> void main() { int a; scanf("%d",&a); if (a >= 0) { printf("整数!\n");} else { printf("负数!\n");} if (a%2 == 0) { printf("偶数!\n");} else { printf("奇数!\n");} getch(); } 4.编写解一元二次方程ax^2+bx+c=0的完整程序。 #include <stdio.h> #include <math.h> void main() { float a,b,c; float temp,x1,x2; scanf("%f,%f,%f",&a,&b,&c); temp = b*b-4.0*a*c; printf("temp:%f\n",temp); if (temp<0) { printf("无解!"); } if (temp>=0) { printf("有二个解!"); x1 = ((-b)+sqrt(temp))/(2.0*a); x2 = ((-b)-sqrt(temp))/(2.0*a); printf("x1:%f x2:%f\n",x1,x2); } getch(); } 5.输入4个整数,要求按从小到大的顺序输出。 #include <stdio.h> void insertsort(int a[],int n) { int i,j,temp; for (i = 1;i < n; ++i) { temp = a[i]; for (j = i;j>0 && temp<a[j-1];--j) { a[j] = a[j-1]; } a[j] = temp; } } void main() { int a[4]={4,2,1,3}; insertsort(a,4); getch(); } 6.输入一个不多于5位的正整数,编写程序,完成以下功能: (1)求出它是几位数; (2)分别打印出每一位数字; (3)按逆序打印出各位数字,例如原数为321,应输出123。 #include <stdio.h> void fun(long i) { int w,q,b,s,g; long t; w = i/10000; if (w == 0) { q = (i/1000); if (q == 0) { b = (i/100); if (b == 0) { s = (i/10); if (s == 0) { printf("该数为1位数!\n"); g = i; t = g; } printf("该数为2位数!\n"); g = i-s*10; t = g*10+s; } printf("该数为3位数!\n"); s = (i-b*100)/10; g = i-b*100-s*10; t = g*100+s*10+b; } printf("该数为4位数!\n"); b = (i-q*1000)/100; s = (i-q*1000-b*100)/10; g = i-q*1000-b*100-s*10; t = g*1000+s*100+b*10+q; } printf("该数为5位数!\n"); q = (i-w*10000)/1000; b = (i-w*10000-q*1000)/100; s = (i-w*10000-q*1000-b*100)/10; g = i-w*10000-q*1000-b*100-s*10; t = g*10000+s*1000+b*100+q*10+w; printf("万位:%d",w); printf("千位:%d",q); printf("百位:%d",b); printf("十位:%d",s); printf("个位:%d",g); printf("\n逆序后为:%ld",t); } void main() { long i; scanf("%ld",&i); fun(i); getch(); } 7.在屏幕上显示一张如下所示的时间表: *********time******** 1 morning 2 afternoon 3 night Please erter your choice: 要求:输入,输出,其他则提示“Selection error!”,用switch语句编程实现! #include <stdio.h> void fun() { int choice; printf("****Time****\n"); printf("1 morning\n"); printf("2 afternoon\n"); printf("3 night\n"); printf("Please enter your choice"); scanf("%d",&choice); switch (choice) { case 1:printf("Good morning!\n"); break; case 2:printf("Good afternoon!\n"); break; case 3:printf("Good night!\n"); break; default:printf("Selection error!\n"); break; } } void main(){ fun(); getch(); } 8.读入一个年份和月份,打印出该月有多少天(考虑闰年),用 switch 语句编程实现。 #include <stdio.h> void main() { int year,month,leap=0; //leap=1为闰年 printf("year:"); scanf("%d",&year); printf("month:"); scanf("%d",&month); if ((year%4 == 0)&&(year%100 != 0)||(year%400 == 0)) leap = 1; switch (month) { case 1:printf("31days\n"); break; case 2:if (leap == 0) { printf("28days\n");} else { printf("29days\n");} break; case 3:printf("31days\n"); break; case 4:printf("30days\n"); break; case 5:printf("31days\n"); break; case 6:printf("30days\n"); break; case 7:printf("31days\n"); break; case 8:printf("31days\n"); break; case 9:printf("30days\n"); break; case 10:printf("31days\n"); break; case 11:printf("30days\n"); break; case 12:printf("31days\n"); break; default:printf("error!"); break; } getch(); } 9.同样switch的题目,略,时间宝贵! 10.编程计算1*2*3+3*4*5+...+99*100*101的值。 #include <stdio.h> void main() { int i; long s=0; for (i=0;i<=99;i+=2) { s = s+(i*(i+1)*(i+2)); } printf("%ld",s); getch(); } 11.编程计算1!+2!+3!+4!+...+10!的值。 调用子函数! 12.编程计算a+aa+aaa+aaaa+...+aa..a(n个a)的值,n和a的值由键盘输入。 注意溢出! 13.韩信点兵! #include <stdio.h> void main(){ int i,s=1; for (i=1;i<65535;i++) { s = i; if ((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)) { printf("%d",s); break; } } getch(); } 14.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序找出1000以内的所有完数,并按下面的格式输出因子: 6 its factors are 1,2,3 #include <stdio.h> void main() { int sum,k,j; sum = 0; for (k=2;k<=1000;k++) { sum=0; for (j=1;j<k;j++) { if (k%j==0) { sum=sum+j; } if (sum==k) { printf("%d\n",k); break; } } } getch(); }
相关文章推荐
- 【打基础】高级语言程序设计·厦大出版社 课后习题个人记录4
- 【打基础】高级语言程序设计·厦大出版社 课后习题个人记录1
- 【打基础】高级语言程序设计·厦大出版社 课后习题个人记录3
- 个人学习C程序设计语言(第2版·新版)笔记
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter7-31
- JAVA语言程序设计基础课后习题第四章
- 谭浩强C语言程序设计课后习题解答(第二章)
- C++程序设计语言课后习题10章15题
- java语言程序设计第十版(Introduce to java) 课后习题 chapter6-25
- JAVA语言程序设计基础课后习题第五章
- JAVA语言程序设计基础课后习题第六章
- C程序设计语言(第2版·新版)- 练习2-7
- 谭浩强C语言程序设计课后习题解答(第四章)
- java语言程序设计第十版(Introduce to java) 课后习题 chapter6-6
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-31
- 中国大学 MOOC 课程 《Python 语言程序设计》第五周课后习题
- 中国大学 MOOC 课程 《Python 语言程序设计》第六周课后习题
- C语言程序设计谭浩强版课后习题 8-1,8-3
- java语言程序设计第十版(Introduce to java) 课后习题 chapter6-10
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter7-32