欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

C语言实验指导书

  • 资源ID:17803102       资源大小:144.91KB        全文页数:11页
  • 资源格式: DOC        下载积分:9.9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要9.9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

C语言实验指导书

1. 假设公民的个人所得税为工资总额的5%,编程输入一个公民的工资总额,计算其应缴纳的个人所得税和其扣除所得税后的实际工资,并输出。#include<stdio.h>void main()float a,b,c;scanf("%f",&a);b=a*0.05;c=a-b;printf("b=%5.2fnc=%5.2f",b,c);2.利用格式控制符输出以下图形。* *#include<stdio.h>void main()printf(" *n *n *n *n*n");3.从键盘上输入圆的半径,圆柱的高,求圆的周长,圆球的表面积、圆球的体积、圆柱体积。用scanf输入,用printf输出。输出时有文字说明,取小数点后2位数字。请编程序。#include<stdio.h>void main()float r,h,c,s,v1,v2;scanf("%f%f",&r,&h);c=2*3.14*r;s=4*3.14*r*r;v1=4/3*3.14*r*r*r;v2=s*h;printf("圆的周长:%5.2fn圆球的表面积:%5.2fn圆球的体积:%5.2fn圆柱体积:%5.2fn",c,s,v1,v2);4.编制程序,根据输入的x的值,计算y的值并输出。 #include<stdio.h>void main()float x,y;scanf("%f",&x);if(x<=2.5) y=x*x+1;else if(x>2.5) y=x*x-1;printf("y=%5.2fn",y);5.从键盘上输入三个数a,b,c,按照从小到大的顺序排序后输出。(要求,最后数从小到大依次存放在a,b,c中)。如:从键盘上输入:23 12 45,程序处理后应该是a=12 b=23 c=45。然后输出a,b,c即可。#include <stdio.h>void main()int a,b,c,t;scanf("%d%d%d",&a,&b,&c);if (a>b)t=a; a=b; b=t;if (a>c)t=a; a=c; c=t;if (b>c)t=b; b=c; c=t;printf("a=%dnb=%dnc=%dn",a,b,c);6.企业发放的奖金根据利润提成。利润I低于或等于10万元的,奖金可提10%;利润高于10万元的,低于20万元时,低于10万元的部分仍按10%提成,高于10万元的部分按7%提成;200000<I<400000时,低于20万元的部分仍按上述办法提成,高于20万元的部分按5%提成;400000<I<600000时,高于40万元的部分按3%提成,600000<I<1000000时,高于60万元的部分按1.5%提成;I>1000000时,超过100万元的部分按1%提成。从键盘上输入当月利润I,求应发奖金总数。要求:(1)用if语句编程 (2)用switch语句编程。#include <stdio.h>void main()double i,s;scanf("%lf",&i);if (i<=100000) s=0.1*i;else if(100000<i&&i<=200000) s=100000*0.1+(i-100000)*0.07;else if(200000<i&&i<=400000) s=100000*0.1+100000*0.07+(i-200000)*0.05;else if(400000<i&&i<=600000) s=100000*0.1+100000*0.07+200000*0.05+(i-400000)*0.03;else if(600000<i&&i<=1000000) s=100000*0.1+100000*0.07+200000*0.05+200000*0.03+(i-600000)*0.015;else if(i>1000000) s=100000*0.1+100000*0.07+200000*0.05+200000*0.03+400000*0.015+(i -1000000)*0.01;printf("奖金数为:%lfn",s);7.输入10个数,计算它们的和,积、平方和以及和的平方。#include <stdio.h>void main()int i,j,a=0,b=1,c=0,d=1;for(i=0;i<10;i+)scanf("%d",&j);a=j+a;b=j*b;c=j*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 <stdio.h>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 <stdio.h>void main() int i,j; for(i=2;i<=100;i+) for(j=2;j<i;j+)if (i%j=0) break;if(i=j) printf("%dt",i); 10.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如:6的因子分别是:1,2,3,而6=1+2+3,所以6是完数。编程输出1000之内的所有完数#include <stdio.h>void main() int i,j,sum; for(i=1;i<=1000;i+) sum=0; for(j=1;j<i;j+) if(i%j=0) sum=j+sum; if(i=sum) printf("%dt",sum); 11. 找2-1000中的亲密数对(如果a的因子和等于b,b的因子和等于a,且ab,则称a,b为亲密数对)。#include <stdio.h>void main () int a,i; for(a=2;a<=1000;a+) int sum1=0,sum2=0; for(i=1;i<a;i+) if (a%i=0) sum1=sum1+i; for(i=1;i<sum1;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 <stdio.h>void main () char str20; int count10=0; gets(str); int i; for(i=0;stri!=?;i+) if (stri=0)count0+;if (stri=1)count1+; if (stri=2)count2+; if (stri=3)count3+; if (stri=4)count4+; if (str5=5)count5+; if (str6=6)count6+; if (str7=7)count7+; if (str8=8)count8+; if (str9=9)count9+; for(i=0;i<10;i+) printf("%dt",counti);13. 从键盘上输入10个数,求最大值、最小值和平均值。#include<stdio.h>void main()int str10;int max,min,aver=0,sum=0,i,t;for(i=0;i<10;i+)scanf("%d",&stri);for(i=0;i<10;i+)max=str0;min=str0;if (max<stri)max=stri;if (min>stri)min=stri;for(i=0;i<10;i+)sum=stri+sum;aver=sum/10;printf("max=%dnmin=%dnaver=%dn",max,min,aver);14. 从键盘上输入10个数,按从小到大的顺序排序输出。#include <stdio.h>void main()int a10;int i,j,t;printf("input 10 numbers:n");for(i=0;i<10;i+) scanf("%d",&ai);printf("n");for(j=0;j<9;j+)for(i=0;i<9-j;i+)if(ai>ai+1)t=ai;ai=ai+1;ai+1=t;printf("the sorted numbers:n");for(i=0;i<10;i+)printf("%d ",ai);printf("n");15. 编写程序,将字符数组s2中的全部字符拷贝到字符数组s1中。不用strcpy函数。拷贝时,0也要拷贝进去,0后面的字符不拷贝。#include <stdio.h>void main()char str120;char str220;int i=-1;gets(str2);while(str2i!=0)i+;str1i=str2i;printf("%sn",str1);16. 计算两个矩阵的和、积。#include <stdio.h>void main()int a22,b22,c22=0,d22=0,i,j,k;for(i=0;i<2;i+)for(j=0;j<2;j+)scanf("%d",&aij);scanf("%d",&bij);cij=aij+bij;printf("%d ",cij);printf("n");for(i=0;i<2;i+)for(j=0;j<2;j+)for(k=0;k<2;k+)dij=aik*bkj;for(i=0;i<2;i+)for(j=0;j<2;j+)printf("n %d ",dij);17.Definine a function: digit(n,k),it will return the kth digit of n from right.for example: digit(15327,4)=5 digit(289,5)=0#include <stdio.h>void main()long n,int k,m,t;int digit(long n,int k);scanf("%ld%d",&n,&k);for(m=1;m<k;m+)n=n/10;t=n%10;printf("%dn",t);18.用递归方法求n阶勒让德多项式的值,递归公式为: 1 n=0 pn(x)= x n=1 (2n-1)*x-pn-1(x)-(n-1)*pn-2(x)/n n>=1#include <stdio.h>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-1)*x-p(n-1,x)-(n-1)*p(n-2,x)/n ;19.写几个函数:(1)输入10个职工的姓名和职工号;(2)按职工号从小到大排序,姓名也相应改变顺序;(3)要求输入一个职工号,用折半法找出该职工的姓名,从主函数输入要查找的职工的职工号,输出该职工的姓名。#include<stdio.h>#include<string.h>void input(int num,char name12,int n)int i;for(i=0;i<n;i+)printf("请输入第%d个职工的工号:",i+1);scanf("%d",&numi);scanf("%c");printf("请输入第%d个职工的姓名:",i+1);gets(namei); void output(int num,char name12,int n) int i; for(i=0;i<n;i+) printf("工号:%d",numi); printf("姓名:%sn",namei); void sort(int num,char name12,int n)int i,j,k; for(i=0;i<n;i+) k=i;for(j=i+1;j<n;j+)if (numk>numj)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)int k,i;scanf("%d",&k);for(i=0;i<n;i+)if(k=numi) break;if(i<n)printf("该职工的姓名为:%s",namei);if(i>n)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);20.输入三个整数,按照从小到大的顺序输出。(用函数和指针实现)#include<stdio.h>int main()void exchange(int *q1,int *q2,int *q3);int a,b,c,*p1,*p2,*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)int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;21. 写几个函数:(1)输入10个职工号;(2)按职工号从小到大排序;(3)要求输入一个职工号,用折半法找出来。(用函数和指针实现)#include<stdio.h>#include<string.h>void input(int *num,char (*name)12,int n)int i;for(i=0;i<n;i+)printf("请输入第%d个职工的工号:",i+1);scanf("%d",&numi);scanf("%c");printf("请输入第%d个职工的姓名:",i+1);gets(namei); void output(int num,char name12,int n) int i; for(i=0;i<n;i+) printf("工号:%d",numi); printf("姓名:%sn",namei); void sort(int num,char name12,int n)int i,j,k; for(i=0;i<n;i+) k=i;for(j=i+1;j<n;j+)if (numk>numj)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)int k,i;scanf("%d",&k);for(i=0;i<n;i+)if(k=numi) break;if(i<n)printf("该职工的姓名为:%s",namei);if(i>n)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的整形矩阵转置。#include<stdio.h>void main()int a33,b33=0;void swap(int a33 ,int b33);int i,j;for(i=0;i<3;i+)for(j=0;j<3;j+)scanf("%d",&aij);for(i=0;i<3;i+)for(j=0;j<3;j+)bij=aji;for(i=0;i<3;i+)for(j=0;j<3;j+)printf("%d ",bij);printf("n");

注意事项

本文(C语言实验指导书)为本站会员(jun****875)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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