您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 园林工程 > 西北农林科技大学C语言试题答案
1、简单程序设计编程写程序,在屏幕上输出信息:HappyNewYear!/*输出图形*/#includestdio.hvoidmain(){printf(HappyNewYear!\n);}2、简单计算由键盘任意输入2个数,分别计算它们的和、差、积、商。/*简单计算*/#includestdio.hvoidmain(){floata,b;floath,c,j,s;scanf(%f%f,&a,&b);h=a+b;c=a-b;j=a*b;s=a/b;printf(和=%f,差=%f,积=%f,商=%f\n,h,c,j,s);}3、计算梯形的面积已知梯形的上底、下底和高,计算梯形的面积。/*计算梯形的面积*/#includestdio.hvoidmain(){floatsupline,dowline,high;doublearea;scanf(%f,&supline);scanf(%f,&dowline);scanf(%f,&high);area=((supline+dowline)*high)/2.0;printf(%f\n,area);}4、输出字符对应的ASCII码任意输入一个字符,输出此字符对应的ASCII码。/*输出字符对应的ASCII码*/#includestdio.hvoidmain(){charc;scanf(%c,&c);printf(%d\n,c);}5、数据类型长度测试编写程序,测试所使用的计算机系统字符型、短整型、整形、长整型、单精度实型、双精度实型所占有的字节数量。/*数据类型长度测试*/#includestdio.hvoidmain(){printf(sizeofchar=%d\n,sizeof(char));printf(sizeofshort=%d\n,sizeof(short));printf(sizeofint=%d\n,sizeof(int));printf(sizeoflongint=%d\n,sizeof(longint));printf(sizeoffloat=%d\n,sizeof(float));printf(sizeofdouble=%d\n,sizeof(double));}1.成绩判断输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。不要改变与输入输出有关的语句。/*成绩判断*/#includestdio.hvoidmain(){floatmark;scanf(%f,&mark);if(mark60)printf(Fail\n);elseprintf(Pass\n);}2.字符转换输入一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。不要改变与输入输出有关的语句。#includestdio.hmain(){charch;ch=getchar(%c);if(ch='A'&&ch='Z'){ch=ch+32;printf(%c\n,ch);}elseif(ch='a'&&ch='z'){ch=ch-32;printf(%c\n,ch);}elseprintf(%c\n,ch);}3.利用海伦公式求三角形面积三角形三个边长/*计算三角形面积*/#includemath.h#includestdio.hvoidmain(){doublea,b,c,s,area;printf(请输入3条边长:);scanf(%lf%lf%lf,&a,&b,&c);if(a+bc&&b+ca&&a+cb){s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(三角形的面积是:%f\n,area);scanf(%lf\n,area);}elseprintf(这3个数无法组成三角形!\n);}4.判断是否能构成一个三角形从键盘输三个数,判断是否能将它们作为三角形的三条边构成一个三角形。若能,输出“Yes”,否则,输出“No”。/*判断是否能构成一个三角形*/#includestdio.hvoidmain(){floata,b,c;printf(请输入3条边长:);scanf(%f%f%f,&a,&b,&c);if(a0&&b0&&c0&&a+bc&&a+cb&&b+ca)printf(Yes\n);elseprintf(No\n);}5.按从大到小排序三个数从键盘输入三个数,将它们按从大到小进行排序,然后输出。/*按从大到小排序三个数*/#includestdio.hmain(){inta,b,c,d,e,f;printf(请输入三个整数n1,n2,n3:);scanf(%d%d%d,&a,&b,&c);printf(排序前:%d,%d,%d\n,a,b,c);if(ab){{d=c;e=a;f=b;}{if(cb){d=a;e=b;f=c;}else{d=a;e=c;f=b;}}}else{if(bc){d=c;e=b;f=a;}else{if(ac){d=b;e=a;f=c;}else{d=b;e=c;f=a;}}}printf(排序后:%d,%d,%d\n,d,e,f);}1.数据统计任意输入n个整数,分别统计奇数的和、奇数的个数、偶数的和、偶数的个数。/*数据统计*/#includestdio.hvoidmain(){inti,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(%d\n%d\n%d\n%d\n,jishuhe,jishuge,oushuhe,oushuge);}2.爱因斯坦阶梯问题爱因斯坦阶梯问题。设有一阶梯,每步跨2阶,最后剩1阶;每步跨3阶,最后剩2阶;每步跨5阶,最后剩4阶;每步跨6阶,最后剩5阶;每步跨7阶,正好到阶梯顶。问满足条件的最少阶梯数是多少。/*爱因斯坦阶梯问题*/#includestdio.hvoidmain(){intx;x=7;while(!((x%3==2)&&(x%5==4)&&(x%6==5)))x+=14;printf(%d\n,x);}3.猴子吃桃问题一天一只猴子摘下一堆桃子,吃了一半,觉得不过瘾,又多吃了一个,第2天接着吃了前一天剩下的一半,再多吃了一个,以后每天如此,直到第n天,只剩下1个桃子,问猴子一共摘了多少桃子?/*猴子吃桃问题*/#includestdio.hvoidmain(){intn;intx=1,i;scanf(%d,&n);for(i=1;in;i++){x=2*(x+1);}printf(%d\n,x);}4.求两个数的最大公约数和最小公倍数用辗转相除法(即欧几里得算法)求两个正整数的最大公约数和最小公倍数。/*求两个数的最大公约数和最小公倍数*/#includestdio.hvoidmain(){inta,b,rem,temp;intDiv,Multi;inta1,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(%d\n%d\n,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)的近似值*/#includestdio.h#includemath.hmain(){floata,b=1;floati,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(%f\n,sinx);}6.图形输出输入一个字符及行数n,用该字符在屏幕上输出如下图形:*************************输入:一个字符及要输出的行数n。输出:用该字符在屏幕上构成的要求图形。#includestdio.hvoidmain(){intn,i,j;charch;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/*字符串连接*/#includestdio.h#includestring.hvoidmain(){inti,j,k;charstr[20]={\0},str1[10],str2[10];gets(str1);gets(str2);j=strlen(str1),k=strlen(str2);for(i=0;ij+k;i++){if(ij)str[i]=str1[i];elsestr[i]=str2[i-j];}puts(str);}/*字符串连接*/#includestdio.h#includestring.hvoidmain(){charstr1[100],str2[50];inti,j;gets(str1);gets(str2);for(i=0;str1[i]!='\0';i++);for(j=0;str2[j]!='\0';j++){str1[i]=str2[j];i++;}str1[i]='\0';puts(str1);}2.简单加密程序描述:由键盘任意输入一串字符,对其进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不变。输入:一串字符输出:加密后的字符串输入样例:abl2CDxyz输出样例:cdl2EFzab提示:1.可用gets()和puts()输入输出字符串。2.利用ASCII码运算进行加密。3.循环右移的含义是:将a-z,A-Z各看成一个环进行移动,即y右移2个字母后为a,z右移2个字母后为b;Y右移2个字母后为A,Z右移2个字母后为B。/*简单加密程序*/#includestdio.hvoidmain(){chara[80];inti;gets(a);for(i=0;a[i]!=0;i++){if((a[i]='A'&&a[i]='X')||(a[i]='a'&&a[i]='x'))a[i]=a[i]+2;elseif((a[i]='y'&&a[i]='z')||(a[i]='Y'&&a[i]='Z'))a[i]=a[i]-24;}puts(a);}3.矩阵对角线元素求和描述:输入一个5×5的数组,分别求其主对角线和辅对角线上元素之和。输入:5×5的数组输出:主对角线和辅对角线上元素之和输入样例:12345678910111213141516171819202122232425输出样例:6565提示:主对角线为从矩阵的左上角至右下角的连线,在数组中即指行列下标相同的元素,辅对角线为从矩阵的右上角至左下角的连线,这些元素的下标之间也可用相应的表达式表达。/*矩阵对角线元素求和*/#includestdio.h#includestring.hvoidmain(){inti,j;inta[6][6];intsum1=0,sum2=0;for(i=0;i5;i++)for(j=
本文标题:西北农林科技大学C语言试题答案
链接地址:https://www.777doc.com/doc-4425724 .html