C语言实验指导书.pdf

上传人:索**** 文档编号:82638282 上传时间:2023-03-25 格式:PDF 页数:11 大小:27.31KB
返回 下载 相关 举报
C语言实验指导书.pdf_第1页
第1页 / 共11页
C语言实验指导书.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《C语言实验指导书.pdf》由会员分享,可在线阅读,更多相关《C语言实验指导书.pdf(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1 1.假设公民的个人所得税为工资总额的5%,编程输入一个公民的工资总额,计算其应缴纳的个人所得税和其扣除所得税后的实际工资,并输出。#includevoid main()float a,b,c;scanf(%f,&a);b=a*;c=a-b;printf(b=%nc=%,b,c);2.利用格式控制符输出以下图形。*#includevoid main()printf(*n *n *n*n*n);3.从键盘上输入圆的半径,圆柱的高,求圆的周长,圆球的表面积、圆球的体积、圆柱体积。用scanf 输入,用printf输出。输出时有文字说明,取小数点后2 位数字。请编程序。#includevoid m

2、ain()float r,h,c,s,v1,v2;scanf(%f%f,&r,&h);c=2*r;s=4*r*r;v1=4/3*r*r*r;v2=s*h;printf(圆 的 周 长:%n圆 球 的 表 面 积:%n圆 球 的 体 积:%n圆 柱 体积:%n,c,s,v1,v2);4.编制程序,根据输入的x 的值,计算y 的值并输出。2#includevoid main()float x,y;scanf(%f,&x);if(x y=x*x-1;printf(y=%n,y);5.从键盘上输入三个数a,b,c,按照从小到大的顺序排序后输出。(要求,最后数从小到大依次存放在a,b,c中)。如:从键盘

3、上输入:23 12 45,程序处理后应该是a=12 b=23 c=45。然后输出a,b,c即可。#include void main()int a,b,c,t;scanf(%d%d%d,&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(a=%dnb=%dnc=%dn,a,b,c);6.企业发放的奖金根据利润提成。利润I 低于或等于10 万元的,奖金可提10%;利润高于 10 万元的,低于20 万元时,低于10 万元的部分仍按10%提成,高于10 万元的部分按7%提成;200000I400000 时,低于

4、 20 万元的部分仍按上述办法提成,高于20 万元的部分按 5%提成;400000I600000 时,高于 40 万元的部分按3%提成,600000I1000000 时,超过 100 万元的部分按1%提成。从键盘上输入当月利润 I,求应发奖金总数。要求:(1)用 if语句编程(2)用 switch语句编程。#include void main()double i,s;scanf(%lf,&i);if(i=100000)s=*i;else if(100000i&i=200000)s=100000*+(i-100000)*;else if(200000i&i=400000)s=100000*+10

5、0000*+(i-200000)*;3 else if(400000i&i=600000)s=100000*+100000*+200000*+(i-400000)*;else if(600000i&i1000000)s=100000*+100000*+200000*+200000*+400000*+(i-1000000)*;printf(奖金数为:%lfn,s);7.输入 10 个数,计算它们的和,积、平方和以及和的平方。#include void main()int i,j,a=0,b=1,c=0,d=1;for(i=0;i10;i+)scanf(%d,&j);a=j+a;b=j*b;c=j

6、*j+c;d=a*a;printf(a=%dnb=%dnc=%dnd=%dn,a,b,c,d);8.在 1-500 中,找出能同时满足用3 除余 2,用 5 除余 3,用 7 除余 2 的所有整数。(选子孙子算经)#include void main()int i;for(i=1;i=500;i+)if(i%3=2&i%5=3&i%7=2)printf(%dn,i);9.求 100 以内的所有素数。#include void main()int i,j;for(i=2;i=100;i+)for(j=2;ji;j+)i f(i%j=0)break;i f(i=j)printf(%dt,i);10

7、.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如:6 的因子分别是:1,2,3,而 6=1+2+3,所以 6 是完数。编程输出1000 之内的所有完数#include void main()int i,j,sum;for(i=1;i=1000;i+)sum=0;for(j=1;ji;j+)if(i%j=0)sum=j+sum;if(i=sum)printf(%dt,sum);4 11.找 2-1000 中的亲密数对(如果a 的因子和等于b,b 的因子和等于a,且 ab,则称 a,b 为亲密数对)。#include void main()int a,i;for(a=2;a=1000;

8、a+)int sum1=0,sum2=0;for(i=1;ia;i+)if(a%i=0)sum1=sum1+i;for(i=1;isum1;i+)if(sum1%i=0)sum2=sum2+i;if(sum2=a&a!=sum1)printf(%d and%dn,a,sum1);12.输入一串字符,以“”结束,分别统计其中每个数字字符0,1,2,.9 出现的次数。#include void main()char str20;int count10=0;gets(str);int i;for(i=0;stri!=;i+)if(stri=0)count0+;i f(stri=1)count1+;i

9、 f(stri=2)count2+;i f(stri=3)count3+;i f(stri=4)count4+;i f(str5=5)count5+;i f(str6=6)count6+;i f(str7=7)count7+;i f(str8=8)count8+;5 i f(str9=9)count9+;for(i=0;i10;i+)printf(%dt,counti);13.从键盘上输入10 个数,求最大值、最小值和平均值。#includevoid main()int str10;int max,min,aver=0,sum=0,i,t;for(i=0;i10;i+)scanf(%d,&st

10、ri);for(i=0;i10;i+)max=str0;min=str0;i f(maxstri)min=stri;for(i=0;i10;i+)sum=stri+sum;aver=sum/10;printf(max=%dnmin=%dnaver=%dn,max,min,aver);14.从键盘上输入10 个数,按从小到大的顺序排序输出。#include void main()int a10;int i,j,t;printf(input 10 numbers:n);for(i=0;i10;i+)scanf(%d,&ai);printf(n);for(j=0;j9;j+)for(i=0;iai+

11、1)t=ai;ai=ai+1;ai+1=t;printf(the sorted numbers:n);for(i=0;i10;i+)printf(%d,ai);printf(n);6 15.编写程序,将字符数组s2 中的全部字符拷贝到字符数组s1 中。不用strcpy函数。拷贝时,0 也要拷贝进去,0 后面的字符不拷贝。#include void main()char str120;char str220;int i=-1;gets(str2);while(str2i!=0)i+;str1i=str2i;printf(%sn,str1);16.计算两个矩阵的和、积。#include void

12、main()i nt a22,b22,c22=0,d22=0,i,j,k;for(i=0;i2;i+)for(j=0;j2;j+)scanf(%d,&aij);scanf(%d,&bij);cij=aij+bij;printf(%d ,cij);printf(n);for(i=0;i2;i+)for(j=0;j2;j+)for(k=0;k2;k+)dij=aik*bkj;for(i=0;i2;i+)for(j=0;j2;j+)printf(n%d ,dij);a function:digit(n,k),it will return the kth digit of n from right.f

13、or example:digit(15327,4)=5 digit(289,5)=0#include void main()long n,int k,m,t;int digit(long n,int k);scanf(%ld%d,&n,&k);7 for(m=1;m=1#include void main()int n,x,m;int p(int n,int x);scanf(%d%d,&n,&x);m=p(n,x);printf(p(n,x)=%d,m);int p(int n,int x)if(n=0)return 1;if(n=1)return x;if(n=1)return (2*n-

14、1)*x-p(n-1,x)-(n-1)*p(n-2,x)/n;19.写几个函数:(1)输入 10 个职工的姓名和职工号;(2)按职工号从小到大排序,姓名也相应改变顺序;(3)要求输入一个职工号,用折半法找出该职工的姓名,从主函数输入要查找的职工的职工号,输出该职工的姓名。#include#includevoid input(int num,char name12,int n)int i;for(i=0;in;i+)printf(请输入第%d个职工的工号:,i+1);scanf(%d,&numi);scanf(%c);printf(请输入第%d个职工的姓名:,i+1);gets(namei);8

15、 void output(int num,char name12,int n)int i;for(i=0;in;i+)printf(工号:%d,numi);printf(姓名:%sn,namei);void sort(int num,char name12,int n)int i,j,k;for(i=0;in;i+)k=i;for(j=i+1;jnumj)k=j;if(k!=i)int t;t=numk;numk=numi;numi=t;char tc12;strcpy(tc,namek);strcpy(namek,namei);strcpy(namei,tc);void search(int

16、 num,char name12,int n)int k,i;scanf(%d,&k);for(i=0;in;i+)if(k=numi)break;if(in)printf(找不到该员工);9 void main()int nu4;int n=4;char na412;input(nu,na,n);sort(nu,na,n);output(nu,na,n);search(nu,na,n);20.输入三个整数,按照从小到大的顺序输出。(用函数和指针实现)#includeint main()void exchange(int*q1,int*q2,int*q3);int a,b,c,*p1,*p2,

17、*p3;printf(please enter three numbers:);scanf(%d%d%d,&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);printf(The order is:%d,%d,%dn,a,b,c);return 0;void exchange(int*q1,int*q2,int*q3)void swap(int*pt1,int*pt2);if(*q1*q2)swap(q1,q2);if(*q1*q2)swap(q1,q3);if(*q2*q3)swap(q2,q3);void swap(int*pt1,int*pt2)

18、int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;21.写几个函数:(1)输入 10 个职工号;(2)按职工号从小到大排序;(3)要求输入一个职工号,用折半法找出来。(用函数和指针实现)#include#includevoid input(int*num,char(*name)12,int n)10 int i;for(i=0;in;i+)printf(请输入第%d个职工的工号:,i+1);scanf(%d,&numi);scanf(%c);printf(请输入第%d个职工的姓名:,i+1);gets(namei);void output(int num,char

19、name12,int n)int i;for(i=0;in;i+)printf(工号:%d,numi);printf(姓名:%sn,namei);void sort(int num,char name12,int n)int i,j,k;for(i=0;in;i+)k=i;for(j=i+1;jnumj)k=j;if(k!=i)int t;t=numk;numk=numi;numi=t;char tc12;strcpy(tc,namek);strcpy(namek,namei);strcpy(namei,tc);void search(int num,char name12,int n)11

20、int k,i;scanf(%d,&k);for(i=0;in;i+)if(k=numi)break;if(in)printf(找不到该员工);void main()int nu4;int n=4;char na412;input(nu,na,n);sort(nu,na,n);output(nu,na,n);search(nu,na,n);22.写一个函数,将一个3 X 3 的整形矩阵转置。#includevoid main()int a33,b33=0;void swap(int a33,int b33);int i,j;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j3;j+)bij=aji;for(i=0;i3;i+)for(j=0;j3;j+)printf(%d ,bij);printf(n);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com