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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

西北农林科技大学C语言试题答案.doc

1、1、简单程序设计 编程写程序,在屏幕上输出信息: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(size of double=%dn,siz

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

5、hc&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);elseprintf(这3个数无法组成三角形!n);4. 判断是否能构成一个三角形 从键盘输三个数,判断是否能将它们作为三角形的三条边构成一个三角形。若能,输出“Yes”,否则,输出“No”。/*判断是否能构成一个三角形*/#includevoid main()float a,b,c;printf(请输入3条边长:);scanf(%f%f%f,&a,&b,&c);if(a0&b0&c0&a+b

6、c&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;elseif(bc)d=b;e=a;f=c;elsed=b;e=c;f

7、=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; oushuge+; printf(%dn%dn%dn%dn,jish

8、uhe,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. 猴子吃桃问题一天一只猴子摘下一堆桃子,吃了一半,觉得不过瘾,又多吃了一个,第2天接着吃了前一天剩下的一半,再多吃了一个,以后每天如此,直到第n天,

9、只剩下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. 求两个数的最大公约数和最小公倍数 用辗转相除法(即欧几里得算法)求两个正整数的最大公约数和最小公倍数。/* 求两个数的最大公约数和最小公倍数*/ #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;

10、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!+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+

11、=a/b;a=-a*x*x;b=b*2*i*(2*i+1);printf(%fn,sinx);6. 图形输出输入一个字符及行数n,用该字符在屏幕上输出如下图形: * * * *输入: 一个字符及要输出的行数n。 输出: 用该字符在屏幕上构成的要求图形。 #includevoid main()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. 字符串连接 由键盘任意输入两串字符,不

12、用库函数strcat,连接将两串字符。输入: 两串字符 输出: 连接将两串字符 输入样例: abcdef 输出样例: abcdef /*字符串连接*/#include#includevoid main() int i,j,k; char str20=0,str110,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() cha

13、r 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(str1); 2. 简单加密程序 描述: 由键盘任意输入一串字符,对其进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不变。 输入: 一串字符 输出: 加密后的字符串 输入样例: abl2CDxyz 输出样例: cdl2EFzab 提示: 1. 可用gets()和puts()输入输出字符串。2. 利用ASCII码运算进行加密。3. 循环右移的

14、含义是:将a-z,AZ各看成一个环进行移动,即y右移2个字母后为a,z右移2个字母后为b;Y右移2个字母后为A,Z右移2个字母后为B。 /*简单加密程序*/ #includevoid main()char a80;int i;gets(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 1

15、5 16 17 18 19 20 21 22 23 24 25 输出样例: 65 65 提示: 主对角线为从矩阵的左上角至右下角的连线,在数组中即指行列下标相同的元素,辅对角线为从矩阵的右上角至左下角的连线,这些元素的下标之间也可用相应的表达式表达。 /*矩阵对角线元素求和*/#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 %d

16、n,sum1,sum2);4. 数据顺序调整 描述: 由键盘任意输入10个数,将最大数调到最前面,最小数调到最后面。 输入: 任意10个数 输出: 数据调整后的10个数。 输入样例: 0 1 2 3 4 5 6 7 8 9 输出样例: 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; 结

17、束循环后,将d2所示位置的数与第一个数交换,将x2所示位置的数与最后一个数交换,然后输出数组所有元素即可。 /* 数据顺序调整*/#include#includevoid main () int i,a10,temp; int 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; for(i=0;i9;i+) printf(

18、%d ,ai); printf(%dn,a9); 5. 字符个数统计 描述: 由键盘输入任意一串字符串,将其存入一个字符数组,统计其中的大写字母、小写字母、数字以及其他字符的个数。 输入: 任意一串字符串 输出: 大写字母、小写字母、数字以及其他字符的个数。 输入样例: abcdefg123456ABCDEFG 输出样例: 7 7 6 /*字符统计*/#include#includevoid main()char str100;int iA=0,ia=0,io=0,iqt=0; int i;gets(str);for(i=0;stri;i+)if(stri=A&stri=a&stri=0&st

19、ri=9) io+;elseiqt+;printf(%d %d %d %dn,iA,ia,io,iqt); 6. 学生成绩计算 已知10个学生的5门课程的成绩,将其存入一个二维数组,求每一个学生的总成绩和每一个学生的平均成绩。 输入: 10个学生的5门课程的成绩 输出: 每一个学生的总成绩和每一个学生的平均成绩 输入样例: 90.5 80 70 89 84.691.5 81 71 88 84.792.5 82 72 87 84.893.5 83 73 86 84.994.5 84 74 85 84.095.5 85 75 84 84.196.5 86 76 83 84.297.5 87 77

20、82 84.398.5 88 78 81 84.499.5 89 79 80 84.5 输出样例: 414.100006 82.820000416.200012 83.240005418.299988 83.659996420.399994 84.080002421.500000 84.300003423.600006 84.720001425.700012 85.139999427.799988 85.559998429.899994 85.979996432.000000 86.400002 /*学生成绩计算*/#includestdio.hvoid main()int i,j;float

21、 score105; float sum10, aver10;for(i=0;i10;i+)for(j=0;j5;j+)scanf(%f,&scoreij);for(i=0;i10;i+)sumi=0;for(j=0;j5;j+)sumi=sumi+scoreij;averi=sumi/5;for(i=0;i10;i+)printf(%f %fn,sumi,averi); 7. 姓名排序 描述: 由键盘任意输入10个学生的姓名(以拼音形式),将它们按照ASC码的顺序从小到大排序。 输入: 10个学生的姓名(以拼音形式)。 输出: 按照ASC码的顺序从小到大排序。 输入样例: zhangzian

22、gzaangzbangzcangzdangzeangzfangzgangzhang 输出样例: zaangzbangzcangzdangzeangzfangzgangzhangzhangziang /*姓名排序*/#include#includevoid main()char name1010;int i,j;char temp20;for(i=0;i10;i+)gets(namei);for(j=0;j10;j+) for(i=0;i0) strcpy(temp,namei);strcpy(namei,namei+1);strcpy(namei+1,temp); for(i=0;i10;i+

23、)puts(namei);8. 输出杨辉三角形 描述: 编程实现n阶(n10)杨辉三角形的输出,n=6时,杨辉三角形如下所示:11 1 1 2 11 3 3 11 4 6 4 11 5 10 10 5 1 输入: 杨辉三角形的阶数n。 输出: n阶杨辉三角形。 输入样例: 6 输出样例: 11 1 1 2 11 3 3 11 4 6 4 11 5 10 10 5 1 提示: 杨辉三角形的特点:第一列和对角线上的元素值均为1,即ai0=aii=1;其余位置元素的值=上一行本列元素值+上一行前一列元素值,如第三行第二列2就是第二行第一列+第二行第二列,计算公式为aij=ai-1j-1+ ai-1j。 应先对第一列和对角线元素赋值,然后再为其它元素赋值。 /*输出杨辉三角形*/#include#includevoid main()int i,j,n;int a100100;scanf(%d,&n);fo

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2