.
《C语言程序设计》课程作业
适用层次:专升本 培养类型:理工科专业
专业班级: 姓名: 学号:
作业要求:题目可打印,答案要求手写,考试时交作业。
第1次:
1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。
2.输入三角形的三条边a、b、c,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为:
s=
x(x?a)(x?b)(x?c),其中,x=(a+b+c)/2。
3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。
-6
4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10。
111?1????……
357 4
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 1/2 f(x)= (x+1) 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 { 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(\ printf(\ } 12:输入三角形的三条边a、b、c,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为:area=s(s?a)(s?b)(s?c),其中s=(a+b+c)/2。 #include { 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 int x,m,n=0,s=0; printf(\scanf(\if(x<0)x=-x; . . do { m=x; /* 求出该数的个位数 */ s=s+m; n++; x=x/10; } while(x!=0); printf(\位数是:%d\\n\ printf(\各位数字之和是:%d\\n\} -6 14:使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10。 111?1????…… 357 4 #include #include 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=.6f\\ n”, pi ); } 15:中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? #include 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(\ } } 16:编写程序,键盘输入正整数n(0 . ?. #include double i,r=1; for(i=2;i<=n;i++) r *= i; return r; } main() { int i,n; double sum=0.0; scanf(\ for(i=1;i<=n;i++){ sum += fact(2*i-1); } printf(\} 21. 编程,用冒泡排序对10个整数进行降序排列。 #include { int a[10]; int i, j , t; /*输入10个整数到数组a中*/ printf (\for(i=0;i<10;i++) scanf(\printf (\ /*用冒泡排序法对数组a中的10个数进行降序排序*/ for(i=1; i<10; i++)
C语言程序设计-作业与答案



