西北农林科技大学C语言上机题答案.docx
- 文档编号:10977732
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:46
- 大小:22.55KB
西北农林科技大学C语言上机题答案.docx
《西北农林科技大学C语言上机题答案.docx》由会员分享,可在线阅读,更多相关《西北农林科技大学C语言上机题答案.docx(46页珍藏版)》请在冰豆网上搜索。
西北农林科技大学C语言上机题答案
西北农林科技大学C语言上机题答案
SY1
1.简单程序设计编程写程序,在屏幕上输出信息:
HappyNewYear!
#include
main()
{
printf("HappyNewYear!
\n");}
2.计算梯形的面积已知梯形的上底、下底和高,计算梯形的面积。
#include
main()
{
floata,b,h,s;
scanf("%f%f%f",&a,&b,&h);
s=(a+b)*h/2.0;
printf("%f\n",s);
}
3.输出字符对应的ASCII码任意输入一个字符,输出此字符对应的ASCII码。
#include
main()
{
charc;
scanf("%c",&c);
printf("%d\n",c);
}
4.简单计算由键盘任意输入2个数,分别计算它们的和、差、积、商。
#include
main()
{
floata,b,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,商=%f\n",h,c,j,s);}
5.数据类型长度测试编写程序,测试所使用的计算机系统字符型、短整型、整形、长整型、单精度实型、双精度实型所占有的字节数量。
#include
intmain()
{
printf("sizeofchar=%d\n",sizeof(char));
printf("sizeofshort=%d\n",sizeof(short));
printf("sizeofint=%d\n",sizeof(int));
printf("sizeoflongint=%d\n",sizeof(long));
printf("sizeoffloat=%d\n",sizeof(float));
printf("sizeofdouble=%d\n",sizeof(double));}
SY2
1.成绩判断输入一个学生的数学成绩,如果它低于60,输出
“Fail”,否则,输出“Pass”。
不要改变
与输入输出有关的语句。
#include
voidmain()
{
floatmark;
scanf("%f",&mark);
if(mark<60)
printf("Fail\n");
else
printf("Pass\n");}
2.字符转换输入一个字符,如果它是大写字母,输出相应的小写
字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。
不要改变与输入输出有关的语句。
#include
{
charch;
ch=getchar();
if(ch>='a'&&ch<='z')
{ch=ch-32;}
else
{ch=ch+32;}
printf("%c\n",ch);}
#include
{charch;
ch=getchar();
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);}
#include
voidmain()
{
charch;
ch=getchar();
if(ch>='A'&&ch<='Z')
printf("%c\n",ch+32);
elseif(ch>='a'&&ch<='z')
printf("%c\n",ch-32);
else
printf("%c\n",ch);}
3.利用海伦公式求三角形面积三角形三个边长.
#include
#include
voidmain()
{
doublea,b,c,s,p;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积是:
%lf\n",s);
}
else
printf("这3个数无法组成三角形!
");}
#include
#include
voidmain()
{
floata,b,c,p,s;
scanf("%f%f%f",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&a+c>b)
{
p=(a+b+c)/2.0;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积是:
%f\n",s);
}
else
printf("这3个数无法组成三角形!
\n");
}
4.判断是否能构成一个三角形从键盘输三个数,判断是否能将它们作为三角形的三条边构成一
个三角形。
若能,输出“Yes”,否则,输出“No”。
#include
main()
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)
printf("Yes\n");
else
printf("No\n");
}
5.按从大到小排序三个数从键盘输入三个数,将它们按从大到小进行排序,然后输出。
#include
voidmain()
{printf("请输入三个整数n1,n2,n3:
");inta,b,c,t;
scanf("%d%d%d",&a,&b,&c);printf("排序前:
%d,%d,%d\n",a,b,c);if(a
{t=a,a=b,b=t;
}
if(a {t=a,a=c,c=t; } if(b {t=b,b=c,c=t; } printf("排序后: %d,%d,%d\n",a,b,c);} #include voidmain() { inta,b,c,t; printf("请输入三个整数n1,n2,n3: "); scanf("%d%d%d",&a,&b,&c); printf("排序前: %d,%d,%d\n",a,b,c); if(a if(a if(b printf("排序后: %d,%d,%d\n",a,b,c);} SY3 1.任意输入n个整数,分别统计奇数的和,奇数的个数,偶数的和,偶数的个数。 方法一: #include { inti,n,m,jh=0,jg=0,oh=0,og=0; scanf("%d",&n); for(i=0;i { scanf("%d",&m); if(m%2! =0) { jh=jh+m; jg++; } else { oh=oh+m; og++; } } printf("%d\n%d\n%d\n%d\n",jh,jg,oh,og); } 方法二: #include { intc,n,i; intjishu=0; intoushu=0; intjishuhe=0,oushuhe=0; scanf("%d",&n); for(i=1;i<=n;i++) {scanf("%d",&c); if(c%2! =0) {jishu++; jishuhe=jishuhe+c; } else { oushu++; oushuhe=oushuhe+c; } } printf("%d\n",jishuhe); printf("%d\n",jishu); printf("%d\n",oushuhe); printf("%d\n",oushu);} 2.爱因斯坦阶梯问题,设有一阶梯,每步跨2阶,最后剩1阶,每步跨3阶,最后剩2阶, 每步跨5阶,最后剩4阶,跨6阶剩5阶,跨7阶正好,问满足条件的最少阶梯数是多少, #include voidmain() { intx=1; do { x++; } while(! ((x-1)%2==0&&(x-2)%3==0&&(x-4)%5==0&&(x-5)%6==0&& x%7==0)); printf("%d\n",x);} 3.一天一只猴子摘下一堆桃子,吃了一半觉得不过瘾,有多吃了一个, 第二天接着吃了前一天剩 下的一半,再多吃了一个,以后每天如此,知道滴n天,只剩下一个 桃子,问猴子一共摘了多少桃子, #include { intn,x=1,i; scanf("%d",&n); for(i=1;i { x=2*(x+1); } printf("%d\n",x);} 4.求两个正整数的最大公约数和最小公倍数。 方法一: #include intmain() { intm,n,r,a,b,g; scanf("%d%d",&m,&n); a=m; b=n; do { r=m%n; m=n; n=r; } while(r! =0); g=(a*b)/m; printf("%d\n%d\n",m,g); } 方法二: #include { inta,b,t,r,x,m,n; scanf("%d%d",&a,&b); m=a; n=b; if(a {t=a; a=b; b=t; } while(b! =0) {r=a%b; a=b; b=r; } x=m*n/a; printf("%d\n",a); printf("%d\n",x);} 5.利用公式 sinx=x-x^3/3! +x^5/5! -x^7/7! +......(-1)^(n+1)*x^(2n+1)/(2n+1 )! 求sinx的近似值(精度为10e-6) #include { floata,b=1,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("%f\n",sinx); } 6.在屏幕上输出如下图形 * *** ***** ******* ********* #include { intn,i,j; charch; ch=getchar(); scanf("%d",&n); for(i=0;i { for(j=0;j<(n-1-i);j++) printf(""); for(j=0;j<(2*i+1);j++) printf("%c",ch); printf("\n"); } } SY4 1.杨辉三角形 #include { inti,j,n; inta[100][100]; scanf("%d",&n); for(i=0;i { a[i][0]=1; a[i][i]=1; } for(i=0;i for(j=1;j a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i { for(j=0;j<=i;j++) printf("%d",a[i][j]); printf("\n"); } } 2.对角线之和(5*5) #include voidmain() { inta[5][5],sum1=0,sum2=0; inti,j; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); for(i=0;i<5;i++) sum1=sum1+a[i][i]; for(i=0;i<5;i++) sum2=sum2+a[i][4-i]; printf("%d%d\n",sum1,sum2); } 3.10个学生的总成绩和平均成绩 #include voidmain() { inti,j; floatscore[10][5]; floatsum[10],aver[10]; for(i=0;i<10;i++) for(j=0;j<5;j++) scanf("%f",&score[i][j]); for(i=0;i<10;i++) { sum[i]=0; for(j=0;j<5;j++) { sum[i]=sum[i]+score[i][j]; } aver[i]=sum[i]/5; } for(i=0;i<10;i++) printf("%f%f\n",sum[i],aver[i]); } 4,字符串连接 #include { inti,j,n; charstr[20]={"\0"},str1[10],str2[10]; gets(str1); gets(str2); j=strlen(str1),n=strlen(str2);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西北农林 科技大学 语言 上机 答案