级电信C语言期末考前例题.docx
- 文档编号:5432418
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:20
- 大小:28.35KB
级电信C语言期末考前例题.docx
《级电信C语言期末考前例题.docx》由会员分享,可在线阅读,更多相关《级电信C语言期末考前例题.docx(20页珍藏版)》请在冰豆网上搜索。
级电信C语言期末考前例题
***********************************************
P1124.6
***********************************************
根据函数写一程序,输入x值,输出y值。
解:
#include
main()
{
intx,y;
printf("输入x:
");
scanf("%d",&x);
if(x<1)
{
y=x;
printf("x=%3d,y=x=%d\n",x,y);
}
elseif(x<10)
{
y=2*x-1;
printf("x=%3d,y=2*x-1=%d\n",x,y);
}
else
{
y=3*x-11;
printf("x=%3d,y=3*x-11=%d\n",x,y);
}
}
***********************************************
P1134.8
***********************************************
给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。
90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D’。
#include
main()
{
floatscore;//记录百分制成绩
chargrade;//记录等级
printf("请输入学生成绩:
");
scanf("%f",&score);
while(score>100||score<0)
{//成绩不合法
printf("\n输入有误,请重新输入:
");
scanf("%f",&score);
}
if(score>=90)
grade='A';
elseif(score>=80)
grade='B';
elseif(score>=70)
grade='C';
elseif(score>=60)
grade='D';
elsegrade='E';
printf("成绩是%5.1f,相应的等级是%c\n",score,grade);
}
***********************************************
P1405.3
***********************************************
输入两个正整数m和n,求其最大公约数和最小公倍数。
#include
main()
{
intm,n,max,min;
scanf("%d%d",&m,&n);
//最大公约数从两个数中较小的一个开始寻找
if(m elsemax=n; while(m%max! =0||n%max! =0) max--; //最小公倍数从两个数中较大的一个开始寻找 if(m>n)min=m; elsemin=n; while(min%m! =0||min%n! =0) min++; printf("max=%d,min=%d\n",max,min); } *********************************************** P1405.8 *********************************************** 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如: 153是一个水仙花数,因为153=13+53+33。 #include main() { intx=100,a,b,c; while(x>=100&&x<1000)//100~999 { a=x%10;//个位 b=x/10%10;//十位 c=x/100;//百位 if(x==a*a*a+b*b*b+c*c*c)printf("%5d",x); x++; } } *********************************************** P1415.9 *********************************************** 一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出1000之内的所有完数,并按下面格式输出其因子: 6itsfactorsare1、2、3 main() { intm,i,j,s; for(m=6;m<1000;m++)//考虑1000以内的自然数 { s=1;//s表示因子的和,1是所有自然数的因子 for(i=2;i if(m%i==0)s=s+i;//如果i是因子 if(m==s)//m的因子和与m相等 { printf("%5ditsfastorsare1",m); for(j=2;j if(m%j==0) printf("%d",j); printf("\n"); } } } 或 main() { intm,i,j,s; for(m=6;m<1000;m++) { s=m-1; for(i=2;i if(m%i==0)//如果i是m的因子 s=s-i;//从s中减去该因子 if(s==0)//说明m与其因子和相等 { printf("%5ditsfastorsare1",m); for(j=2;j if(m%j==0) printf("%d",j); printf("\n"); } } } *********************************************** P1415-13 *********************************************** 用迭代法求平方根 迭代公式为: xn=xn-1-f(xn-1)/f'(xn-1) #include #include main() { floatx0,x1,a; scanf("%f",&a);//求a的平方根 x1=a/2;//迭代的初始值,可以给任意值 do { x0=x1;//记录前一个近似值 x1=(x0+a/x0)/2;//根据迭代公式计算新的近似值 }while(fabs(x0-x1)>=1e-5);//比较前后两个近拟值 printf("%.3f\n",x1); } *********************************************** P1415-14 *********************************************** 用迭代法求方程的根 迭代公式为: xn=xn-1-f(xn-1)/f'(xn-1) #include #include main() { doublex0,x1,y; x1=1.5;//给定一个初始近似值 do { x0=x1;//记录前一个近似值 y=2*x0*x0*x0-4*x0*x0+3*x0-6;//f(x0) x1=x0-y/(6*x0*x0-8*x0+3);//计算新的近似值 }while(fabs(x1-x0)>1e-6);//比较前后两个值 printf("x=%.3f\n",x1); } *********************************************** P1415-15 *********************************************** 用二分法求方程的根。 #include #include main() { doublem,a,b,fm,fa,fb; a=-10;b=10;/*[-10,10]之间有一个根*/ while(fabs(b-a)>1e-3) { m=(a+b)/2;/*中点*/ fa=2*a*a*a-4*a*a+3*a-6; fb=2*b*b*b-4*b*b+3*b-6; fm=2*m*m*m-4*m*m+3*m-6; if(fm*fa>0)/*f(m)与f(a)同号*/ a=m; else b=m; } printf("x=%.3f\n",(a+b)/2); } *********************************************** 例题 *********************************************** 编程计算级数 的近似值 #include #include main() { intn; floatex,x,item; x=1;//近似计算e1 ex=1; item=1; n=1; while (1) { item*=x/n++;//计算一项 ex+=item;//累加 if(fabs(item)<1e-6) break; } printf("%f\n",ex); } ********************************************* 例题 *********************************************** 编程近似计算定积分 #include #include main() { floata,b;//定积分的上下限 floatx,dx,sfx; a=0; b=3.14; dx=1e-3;//区间长度 for(x=a,sfx=0;x<=b;x+=dx) sfx+=dx*sin(x); printf("%f\n",sfx); } *********************************************** P1686-2 *********************************************** 选择排序 #include #defineN10 main() { inta[N],t,i,j,min; printf("Input: ");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电信 语言 期末 考前 例题