ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:25.54KB ,
资源ID:4924191      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4924191.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(西北农林科技大学c语言实习答案.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

西北农林科技大学c语言实习答案.docx

1、西北农林科技大学c语言实习答案实习11、 简单程序设计 编程写程序,在屏幕上输出信息:Happy New Year!/* 输出图形*/#includevoid main()printf(Happy New Year!n); 2、简单计算 由键盘任意输入2个数,分别计算它们的和、差、积、商。/*简单计算*/#includevoid main()float a,b;float h,c,j,s;scanf(%f%f, &a,&b);h=a+b;c=a-b;j=a*b;s=a/b;printf(和=%f,差=%f,积=%f,商=%fn,h,c,j,s);3、计算梯形的面积 已知梯形的上底、下底和高,计

2、算梯形的面积。/*计算梯形的面积*/#includevoid main()float supline,dowline,high;double area; scanf(%f,&supline); scanf(%f,&dowline); scanf(%f,&high);area = (supline+dowline)*high)/2.0;printf(%f n,area);4、输出字符对应的ASCII码 任意输入一个字符,输出此字符对应的ASCII码。/*输出字符对应的ASCII码*/#includevoid main()char c;scanf(%c,&c);printf(%dn,c);5、数据

3、类型长度测试 编写程序,测试所使用的计算机系统字符型、短整型、整形、长整型、单精度实型、双精度实型所占有的字节数量。/*数据类型长度测试*/#includevoid main() printf(size of char=%dn,sizeof(char); printf(size of short=%dn,sizeof(short); printf(size of int=%dn,sizeof(int); printf(size of long int=%dn,sizeof(long int); printf(size of float=%dn,sizeof(float); printf(siz

4、e of double=%dn,sizeof(double);1. 成绩判断 输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。不要改变与输入输出有关的语句。/*成绩判断*/#includevoid main()float mark; scanf(%f,&mark); if(mark60)printf(Failn); elseprintf(Passn);2. 字符转换 输入一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。不要改变与输入输出有关的语句。 #include main() char ch; ch=g

5、etchar(); if(ch=A&ch=a&chc&b+ca&a+cb) s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(三角形的面积是:%fn,area); scanf(%lfn,area); else printf(这3个数无法组成三角形!n);4. 判断是否能构成一个三角形 从键盘输三个数,判断是否能将它们作为三角形的三条边构成一个三角形。若能,输出“Yes”,否则,输出“No”。/*判断是否能构成一个三角形*/#includevoid main()float a,b,c;printf(请输入3条边长:);scanf(%f%

6、f%f,&a,&b,&c);if(a0&b0&c0&a+bc&a+cb& b+ca)printf(Yesn);elseprintf(Non);5. 按从大到小排序三个数 从键盘输入三个数,将它们按从大到小进行排序,然后输出。/*按从大到小排序三个数*/ #includemain() int a,b,c,d,e,f; printf(请输入三个整数n1,n2,n3:); scanf(%d%d%d,&a, &b, &c); printf(排序前:%d, %d, %dn, a, b, c);if(ab) d=c;e=a;f=b; if(cb)d=a;e=b;f=c;elsed=a;e=c;f=b;el

7、seif(bc)d=b;e=a;f=c;elsed=b;e=c;f=a;printf(排序后:%d, %d, %dn, d, e, f);1. 数据统计 任意输入n个整数,分别统计奇数的和、奇数的个数、偶数的和、偶数的个数。/*数据统计*/#include void main() int i,n,m,jishuhe=0,oushuhe=0,jishuge=0,oushuge=0; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&m); if(m%2!=0) jishuhe=jishuhe+m; jishuge+; else oushuhe=oushuhe+m; o

8、ushuge+; printf(%dn%dn%dn%dn,jishuhe,jishuge,oushuhe,oushuge); 2. 爱因斯坦阶梯问题爱因斯坦阶梯问题。设有一阶梯,每步跨2阶,最后剩1阶;每步跨3阶,最后剩2阶;每步跨5阶,最后剩4阶;每步跨6阶,最后剩5阶;每步跨7阶,正好到阶梯顶。问满足条件的最少阶梯数是多少。/*爱因斯坦阶梯问题*/#include void main() int x; x=7; while(!(x%3=2)&(x%5=4)&(x%6=5) x+=14; printf(%dn,x);3. 猴子吃桃问题一天一只猴子摘下一堆桃子,吃了一半,觉得不过瘾,又多吃了一

9、个,第2天接着吃了前一天剩下的一半,再多吃了一个,以后每天如此,直到第n天,只剩下1个桃子,问猴子一共摘了多少桃子?/*猴子吃桃问题*/ #include void main() int n; int x=1,i; scanf(%d,&n);for(i=1;in;i+)x=2*(x+1);printf(%dn,x); ()=💎🌹🌹🌹🌹🎵🎵🎵💦🌹🌹🌹4. 求两个数的最大公约数和最小公倍数 用辗转相除法(即欧

10、几里得算法)求两个正整数的最大公约数和最小公倍数。/* 求两个数的最大公约数和最小公倍数*/ #include void main() int a,b,rem,temp;int Div,Multi;int a1,b1;scanf(%d%d,&a,&b);a1=a;b1=b;if(ab) temp=a; a=b; b=temp;while(rem) rem = a%b; a=b; b=rem;Div=a;Multi = a1*b1/Div;printf(%dn%dn,Div,Multi);5. 求sin(x)的近似值利用公式求sin(x)的近似值(精度为10e-6)。sin(x)=x-x3/3!

11、+x5/5!-x7/7!+.(-1)nx(2n+1)/(2n+1)!+./*求sin(x)的近似值*/ #include#includemain()float a,b=1;float i,sinx,x;scanf(%f,&x);a=x;sinx=0;for(i=1;fabs(a/b)=1e-6;i+)sinx+=a/b;a=-a*x*x;b=b*2*i*(2*i+1);printf(%fn,sinx);6. 图形输出输入一个字符及行数n,用该字符在屏幕上输出如下图形: * * * *输入: 一个字符及要输出的行数n。 输出: 用该字符在屏幕上构成的要求图形。 #includevoid main

12、() int n,i,j; char ch; ch=getchar(); scanf(%d,&n); for(i=0;in;i+) for(j=0;j(n-1-i);j+) printf( ); for(j=0;j(2*i+1);j+) printf(%c,ch); printf(n); ()=1. 字符串连接 由键盘任意输入两串字符,不用库函数strcat,连接将两串字符。输入: 两串字符 输出: 连接将两串字符 输入样例: abcdef 输出样例: abcdef /*字符串连接*/#include#includevoid main() int i,j,k; char str20=0,str

13、110,str210; gets(str1); gets(str2); j=strlen(str1),k=strlen(str2); for(i=0;ij+k;i+) if(ij)stri=str1i; else stri=str2i-j; puts(str);/*字符串连接*/#include#includevoid main() char str1100,str250; int i,j; gets(str1); gets(str2); for(i=0;str1i!=0;i+) ; for(j=0;str2j!=0;j+) str1i=str2j; i+; str1i = 0; puts(s

14、tr1); 2. 简单加密程序 描述: 由键盘任意输入一串字符,对其进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不变。 输入: 一串字符 输出: 加密后的字符串 输入样例: abl2CDxyz 输出样例: cdl2EFzab 提示: 1. 可用gets()和puts()输入输出字符串。2. 利用ASCII码运算进行加密。3. 循环右移的含义是:将a-z,AZ各看成一个环进行移动,即y右移2个字母后为a,z右移2个字母后为b;Y右移2个字母后为A,Z右移2个字母后为B。 /*简单加密程序*/ #includevoid main() char a80; int i; get

15、s(a); for(i=0;ai!=0;i+) if(ai=A& ai=a&ai=y&ai=Y&ai=Z) ai=ai-24;puts(a);3. 矩阵对角线元素求和 描述: 输入一个55的数组,分别求其主对角线和辅对角线上元素之和。 输入: 55的数组 输出: 主对角线和辅对角线上元素之和 输入样例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 输出样例: 65 65 提示: 主对角线为从矩阵的左上角至右下角的连线,在数组中即指行列下标相同的元素,辅对角线为从矩阵的右上角至左下角的连线,这些元素的下标之间

16、也可用相应的表达式表达。 /*矩阵对角线元素求和*/#include#includevoid main()int i,j;int a66;int sum1=0,sum2=0; for(i=0;i5;i+)for(j=0;j5;j+)scanf(%d,&aij);for(i=0;i5;i+) sum1=sum1+aii;sum2=sum2+ai4-i;printf(%d %dn,sum1,sum2);4. 数据顺序调整 描述: 由键盘任意输入10个数,将最大数调到最前面,最小数调到最后面。 输入: 任意10个数 输出: 数据调整后的10个数。 输入样例: 0 1 2 3 4 5 6 7 8 9

17、输出样例: 9 1 2 3 4 5 6 7 8 0 提示: 定义四个变量d1、d2、x1、x2,分别存放最大数、最小数及它们的位置; 在循环开始前,将第一个元素作为参考,将其值分别存入d1、x1,将其下标分别存入d2、x2; 在循环中将其它元素逐一与d1比较,若比d1大,将其存入d1,并将其下标存入d2;否则将其与x1比较,若比x1小,将其存入x1,并将其下标存入x2; 结束循环后,将d2所示位置的数与第一个数交换,将x2所示位置的数与最后一个数交换,然后输出数组所有元素即可。 /* 数据顺序调整*/#include#includevoid main () int i,a10,temp; in

18、t kmax=0,kmin=0; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;iakmax) kmax=i; if(aiakmin) kmin=i; temp=a0; a0=akmax; akmax=temp; if(kmax!=9) temp=a9; a9=akmin; akmin=temp; 实习四答案1、 字符串连接/* exer 4-1 两串字符连接 */ #include #include void main(void) unsigned int i,j; char soustr80,desstr80; /printf(please enter so

19、ustr:); gets(soustr); /* 输入原串 */ /printf(please enter desstr:); gets(desstr); /* 输入目的串 */ i = strlen(soustr); /* 取目的串尾部位置 */ for(j=0; j=strlen(soustr); j+,i+) soustri = desstrj; /* 将原串依次接入目的串尾部 */ puts(soustr); 2、 简单加密程序/* exer 4-2 字符加密 */ #include #include void main(void) unsigned int j; char soust

20、r80,secstr80; /printf(please enter soustr:); gets(soustr); /* 输入原串 */ for(j=0; j=A & soustrj=a & soustrj=z ) secstrj = (soustrj-a+2)%26+a; /*计算小写字母密文*/ else secstrj = soustrj; /* 其它字符不变 */ puts(secstr); 3、 矩阵对角线元素求和/* exer 4-3 主和辅对角线上元素之和 */ #include #include void main(void) int i,j; int a55; int su

21、m1=0,sum2=0; /printf(please enter soustr:); for(i=0; i5; i+) for(j=0; j5; j+) scanf(%d,&aij); /* 输入数组 */ for(i=0; i5; i+) sum1 = sum1+aii; /* 主对角线 */ sum2 = sum2+ai4-i; /* 辅对角线 */ printf(%d %dn,sum1,sum2); 4、 数据顺序调整/* exer 4-4 将最大数调到最前面,最小数调到最后面 */#include#includevoid main(void) int i,a10,temp; int

22、kmax=0,kmin=0; /printf(please enter :); for(i=0; i10; i+) /* 输入数组 */ scanf(%d,&ai); for(i=0; iakmax) kmax = i; /* 找最大数位置 */ else if(aiakmin) kmin = i; /* 找最小数位置 */ if(kmax = 9 & kmin = 0) temp = a0; a0 = akmax; akmax = temp; /* 与最前面的数交换 */ else temp = a0; a0 = akmax; akmax = temp; /* 与最前面的数交换 */ tem

23、p = a9; a9 = akmin; akmin = temp; /* 与最后面的数交换 */ for(i=0; i9; i+) printf(%d ,ai); /* 输出数组 */ printf(%dn,ai);5、 字符个数统计/* exer 4-5 统计大写字母、小写字母、数字及其它字符的个数 */#include#includevoid main(void) unsigned int i; int cap=0,low=0,dig=0,oth=0; /* 定义并初始化 */ char str80; /printf(please enter str:); gets(str); /* 输入

24、原串 */ for(i=0; i=A & stri=a & stri=0 & stri=9) dig+; /* 统计数字 */ else oth+; /* 统计其它字符 */ printf(%d %d %d %dn,cap,low,dig,oth);6、 学生成绩计算/* exer 4-6 求每一个学生的总成绩和平均成绩 */#includevoid main(void) int i,j; float score105=0.0f; float allsco10,avesco10; for(i=0; i10; i+) for(j=0; j5; j+) scanf(%f,&scoreij); /* 输入学生的成绩 */ for(i=0; i10; i+) allsco

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1