C语言程序设计课程设计练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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个国家的英文名字,按字典顺序输出。

相关文档
最新文档