C语言程序设计-作业与答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C 语言程序设计》课程作业
适用层次:专升本 培养类型:理工科专业
专业班级: 姓名: 学号:
作业要求:题目可打印,答案要求手写,考试时交作业。
第1次:
1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。
2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。
三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。
3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。
4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6。
+-+-=71513114π
……
5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?
6.编写程序,键盘输入正整数n (0 第2次: 1.编写程序,用冒泡排序对10个整数进行降序排列。 2.从键盘输入10个学生的高考总成绩,输出最高分。 3.输入20个学生的成绩,要求统计并输出优秀(大于85)、及格(60~84)和不及格(小于60)的学生人数。 4.求一个4*4矩阵主对角线元素之和与副对角线元素之和的差。 5.输入一个以回车键结束的字符串(少于80个字符),删除其中除英文字母以外的其它字符。 第3次: 1.输入x ,计算并输出下列分段函数f(x)的值。可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs()。 | 2x+5| x<0 f(x)= (x+1)1/2 0<=x<2 3x+1 x>= 2 2. 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。利用该函数找出100-200之间的所有素数。素数是只能被1和自身整除的正整数,2是最小的素数。 3.写一函数int strlength(char *s)求一个字符串的长度。主函数中输入一个字符串,调用函数strlength 求其长度并输出。 11:编程计算1到100之间的奇数之和及偶数之和。 #include main() { int even_sum,odd_sum,j,i; even_sum = odd_sum =0 ; for(i=0;i<=100;i+=2) { even_sum +=i; _j=i+1___; odd_sum +=j; } printf("sum of evens is %d\n", even_sum); printf("sum of odds is %d\n", odd_sum -101); #include #include main() { float a,b,c,s,area; printf(“Input a,b,c:”); 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(“area=%.2f\n”,area); } else printf(“无效的边长!”); } 13:输入一个整数,求它的各位数字之和及位数。例如,34的各位数字之和是7,位数是2;-123的各位数字之和是6,位数是3。 #include main() { int x,m,n=0,s=0; printf(" x= "); scanf("%d",&x); if(x<0)x=-x; do { m=x%10; /* 求出该数的个位数*/ s=s+m; n++; x=x/10; } while(x!=0); printf(" 位数是:%d\n",n); printf(" 各位数字之和是:%d\n",s); } 14:使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6。 +-+-=71513114π …… #include #include main( ) { int s; float n, t, pi; t=1; pi=0; n=1.0; s=1; while((fabs(t)) > = 1e-6) { pi = pi+t; n = n+2; s = -s; t = s/n; } pi=pi*4; printf(“pi =%10.6f\ n”, pi ); } 15:中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? #include main() { int cock,hen,chicken; for(cock =0; cock <=20; cock ++) for(hen =0; hen <=33; hen ++) { chicken =100- cock - hen; if((5* cock +3* hen + chicken /3)==100&&( chicken %3==0)) printf("%5d%5d%5d\n", cock, hen, chicken); } } 16:编写程序,键盘输入正整数n (0 #include double fact(int n) { double i,r=1; for(i=2;i<=n;i++)