C语言程序设计课程设计练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》练习题
1.输入10个整数,输出其中最大者和最小者。
2.判断输入的任意年是否为闰年。
3.输入一个年、月、日,输出该日是本年中的第几天。
4.求两个正整数m和n的最大公约数和最小公倍数。
5.输出100~1000之间的素数输出。
6.求解方程ax2+bx+c=0的根,其中a、b、c是键盘输入的双精度数。
7.求由双精度数a、b、c组成的三角形的面积。
8.输入球的半径r(双精度数),计算球的表面积和体积。
9.编写交换两个整数的函数(使用指针)。
10.编写一个函数,返回函数本身被调用的次数。
11.输入两个运算数和一个算术运算符,编程实现四则运算,并输出运算结果。
12.编写一个摄氏温度和华氏温度转换程序(双精度数)。
13.打印九九乘法表。
14.打印由*组成的九层高的等腰三角形。
15.输出signed char、unsigned char、signed short、unsigned short、signed int、unsigned int、signed long、unsigned long、float、double所能表示的最大值和最小值。
16.从键盘输入的字符串,将其中的大写字母变成小写字母,将小写字母变成大写字母。
17.输入一个字符串,统计其中的字母、数字、空白符及其它符号的个数。
18.编写一个程序,输入x,当x>0,输出y=1,当x<0,输出y=-1,当x=0,输出y=0。
19.将百分制成绩转换为等级(优秀[90~100]、良好[80~90)、中等[70~80)、及格[60~70)、不及格[0~60) )成绩。
20.根据输入的利润,计算奖金:利润低于或等于10万元时,奖金为利润的10%;利润低于或等于20万元时,高于10万元部分的奖金为利润的7.5%;利润低于或等于40万元时,高于20万元部分的奖金为利润的5%;利润低于或等于60万元时,高于40万元部分的奖金为利润的2.5%;利润高于100万元时,高于60万元部分的奖金为利润的1%。
21.输入一个不多于5位的正整数,计算其位数、各位之和、逆序输出各位数字。
22.求1+2+3+…+n之和,n由键盘输入。
23.求1!+2!+3!+…+n!,n由键盘输入。
24.求s=a+aa+aaa+…+aaa…a,其中最后a的个数为n,a和n键盘输入。
25.根据π/4=1-1/3+1/5-1/7+…求π的近似值(某一项的绝对值小于10-6终止)。
26.根据e=1+1/1!+1/2!+1/3!+…,求e的近似值(某一项的绝对值小于10-6终止)。
27.根据sin(x)=x-x3/3!+x5/5!-x7/7!…,求sin(x)的近似值(某一项的绝对值小于10-6终止)。
28.输出Fibonacci数列的前N项。
29.输出所有的“水仙花数”。
30.输出1000内的所有“完数”。
31.把100元人民币换成20元、10元、5元的零钱,有多少种换法。
32.布袋中有红、绿、蓝、白4种颜色的小球各一个,每次从中取出3个,列出3个小球不同颜色的所有可能的取法。
33.求a平方根,迭代公式为x n+1=(x n+a/x n)/2.0。
34.用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
#include
#include
float solution(float x)
{
float x1,y,k;
do
{
k=6*x*x-8*x+3;
y=2*x*x*x-4*x*x+3*x-6;
x1=x-y/k;
x=x1;
}
while(fabs(y)<0.001);
return x;
}
void main()
{
float x;
x=1.5;
x=solution(x);
printf("%f\n",x);
}
35.用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根。
#include "stdio.h"
#include "math.h"
float function(float x)
{
float f;
f=2*x*x*x-4*x*x+3*x-6;
return f;
}
void main()
{
float a,b,c,fa,fb,fc;
printf("Please input the lower and upper boundaries:a,b\n");
scanf("%f%f",&a,&b);
printf("a=%f,b=%f\n",a,b);//把后面的a,b用具体值表示,比如3,10,否则没法运算fa=function(a);
fb=function(b);
do
{
c=(a+b)/2.0;
fc=function(c);
if(fc*fa<0)
{
b=c;
fb=fc;
}
else
{
a=c;
fa=fc;
}
}while(fabs(a-b)>=0.5e-2);//0.5e-2是精读,二分法得有精度才行呀,你可以改的printf("The root is%f\n",c);
}
36.用弦截法求方程x3-5x2+16x-80=0的根。
37.用矩形法求函数sin(x)、cos(x)、e x在[0,1]区间的定积分。
38.顺序查找int a[N]中的最大元素和最小元素。
39.用“筛选法”求100之内的素数。
40.逆序输出数组int a[N]的元素。
41.在N个学生姓名中查找输入的姓名。
42.使用冒泡排序对数组int a[N]进行排序并输出。
43.使用选择排序对数组int a[N]进行排序并输出。
44.使用插入排序对数组int a[N]进行排序并输出。
45.将N个国家的英文名字,按字典顺序输出。