成都信息工程学院C语言第一类题参考答案.docx

上传人:b****8 文档编号:30647940 上传时间:2023-08-18 格式:DOCX 页数:46 大小:26.11KB
下载 相关 举报
成都信息工程学院C语言第一类题参考答案.docx_第1页
第1页 / 共46页
成都信息工程学院C语言第一类题参考答案.docx_第2页
第2页 / 共46页
成都信息工程学院C语言第一类题参考答案.docx_第3页
第3页 / 共46页
成都信息工程学院C语言第一类题参考答案.docx_第4页
第4页 / 共46页
成都信息工程学院C语言第一类题参考答案.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

成都信息工程学院C语言第一类题参考答案.docx

《成都信息工程学院C语言第一类题参考答案.docx》由会员分享,可在线阅读,更多相关《成都信息工程学院C语言第一类题参考答案.docx(46页珍藏版)》请在冰豆网上搜索。

成都信息工程学院C语言第一类题参考答案.docx

成都信息工程学院C语言第一类题参考答案

/*P1-111.C*/

/*编写一程序P1-111.C实现以下功能

  x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Pleaseinputx:

),然后计算并在屏幕上输出函数值。

注意,图1中的括号不是<>而是(),编程可用素材:

printf("Pleaseinputx:

")...。

     ┌ -5x+27(x<0)

  F(x)=├ 7909(x=0)

     └ 2x-1(x>0)

  程序的运行效果应类似地如图1所示,图1中的3是从键盘输入的内容。

 

*/

#include

intmain(void)

{

intx;

doubley;

printf("Pleaseinputx:

");

scanf("%d",&x);

if(x>0)

{

y=2.0*x-1;

printf("\nF(%d)=%.0lf\n",x,y);

}

if(x==0)

{

y=7909;

printf("\nF(%d)=7909\n",x,y);

}

if(x<0)

{

y=(-5.0)*x+27;

printf("\nF(%d)=%.0lf\n",x,y);

}

return0;

}

/*P1-113.C*/

/*编写一程序P1-113.C实现以下功能

  已知某银行整存整取存款不同期限的年息利率分别为:

3.15%期限一年,3.63%期限二年,4.02%期限三年,4.69%期限五年,5.36%期限八年。

从键盘上输入存钱的本金(以元为单位,必须定义为int且应考虑金额很大的情况)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。

编程可用素材:

printf("\nPleaseinputbenjin,cunqi:

")...、printf("\nlixi=...yuan"...。

  程序的运行效果应类似地如图1所示,图1中的10000,8是从键盘输入的内容。

*/

#include

#include

intmain(void)

{

intcunqi;

longintbenjin;

doublelixi;

printf("Pleaseinputbenjin,cunqi:

");

scanf("%ld,%d",&benjin,&cunqi);

printf("\n");

if(cunqi==1)

{

lixi=(double)(1.0*benjin*3.15/100);

printf("lixi=%.2lfyuan",lixi);

}

if(cunqi==2)

{

lixi=(double)(2.0*benjin*3.63/100);

printf("lixi=%.2lfyuan",lixi);

}

if(cunqi==3)

{

lixi=(double)(3.0*benjin*4.02/100);

printf("lixi=%.2lfyuan",lixi);

}

if(cunqi==5)

{

lixi=(double)(5.0*benjin*4.69/100);

printf("lixi=%.2lfyuan",lixi);

}

if(cunqi==8)

{

lixi=(double)(8.0*benjin*5.36/100);

printf("lixi=%.2lfyuan",lixi);

}

return0;

}

/*P1-114.C*/

/*编写一程序P1-114.C实现以下功能

  编写一个简单计算器程序,输入格式为:

data1opdata2。

其中data1和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。

  程序的运行效果应类似地如图1、图2、图3、图4所示,图1中的3000+2000、图2中的3000%2000、图3中的3000%0和图4中的3000/0是从键盘输入的内容。

*/

#include

intmain(void)

{

intdata1,data2;

charop;

doubley;

printf("Pleaseinputdata1opdate2:

");

scanf("%d%c%d",&data1,&op,&data2);

switch(op)

{

case'+':

y=0.0+data1+data2;

printf("\n%d+%d=%.0lf\n",data1,data2,y);

break;

case'-':

printf("\n%d-%d=%d\n",data1,data2,data1-data2);

break;

case'*':

y=1.0*data1*data2;

printf("\n%d*%d=%.0lf\n",data1,data2,y);

break;

case'/':

if(0==data2)

{

printf("\nError!

chushuwei0.\n");

}

else

{

printf("\n%d/%d=%d\n",data1,data2,data1/data2);

}

break;

case'%':

if(0==data2)

{

printf("\nError!

chushuwei0.\n");

}

else

{

printf("\n%d%%%d=%d\n",data1,data2,data1%data2);

}

break;

default:

break;

}

return0;

}

/*P7-702.C*/

/*编写一程序P7-702.C实现以下功能

  输入月份,打印2003年该月有几天。

当输入的月份超范围时,应显示“Invalidmonthinput”。

  程序的运行效果应类似地如图1和图2所示,图1中的4和图2中的13是从键盘输入的内容。

*/

#include

intmain(void)

{

intmon;

printf("pleaseinputthemonthnumber:

");

scanf("%d",&mon);

if(mon<1||mon>12)

{

printf("Invalidmonthinput!

\n");

}

else

{

switch(mon)

{

case1:

case3:

case5:

case7:

case8:

case10:

case12:

printf("2003.%dhas31days\n",mon);

case2:

printf("2003.%dhas28days\n",mon);

default:

printf("2003.%dhas30days\n",mon);

}

}

return0;

}

/*P7-703.C*/

/* 编写一程序P7-703.C实现以下功能

  已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:

元):

profit≤1000          没有提成;

1000<profit≤2000       提成10%;

2000<profit≤5000       提成15%;

5000<profit≤10000       提成20%;

10000<profit          提成25%。

  请根据输入的利润计算员工的薪水。

  程序的运行效果应类似地如图1所示,图1中的2000是从键盘输入的内容。

*/

#include

intmain(void)

{

intprofit;

doubleticheng,total;

printf("\nInputprofit:

");

scanf("%d",&profit);

if(profit<=1000)

{

ticheng=0;

}

elseif(1000

{

ticheng=0.1*profit;

}

elseif(2000

{

ticheng=0.15*profit;

}

elseif(5000

{

ticheng=0.2*profit;

}

else

{

ticheng=0.25*profit;

}

total=500+ticheng;

printf("salary=%.2lf\n",total);

return0;

}

/*P7-708.C*/

/*

  编写一程序P7-708.C实现以下功能

  输入一个三位正整数,然后逆序输出。

如输入123,则输出321。

编程可用素材:

printf("Inputaninteger:

")...、printf("\nTheresultis...。

  程序的运行效果应类似地如图1所示,图1中的750是从键盘输入的内容。

*/

#include

intmain(void)

{

intinteger,shu1,shu2,shu3,shu4,shu5;

printf("Inputaninteger:

");

scanf("%d",&integer);

shu1=integer%10;

shu2=integer/10;

shu3=shu2%10;

shu4=shu2/10;

shu5=shu4%10;

printf("\nTheresultis%d%d%d\n",shu1,shu3,shu5);

return0;

}

/*P7-709.C*/

/*编写一程序P7-709.C实现以下功能输入一个华氏温度,要求输出摄氏温度,计算公式为c=5(F-32)/9。

注意,图1中的括号不是<>而是(),编程可用素材:

printf("Inputthedegree:

")...。

  程序的运行效果应类似地如图1所示,图1中的120是从键盘输入的内容。

*/

#include

intmain(void)

{

doubleFF,CC;

printf("Inputthedegree:

");

scanf("%lf",&FF);

CC=5*(FF-32)/9;

printf("F(%.2lf)=C(%.2lf)",FF,CC);

return0;

}

/*P7-710.c*/

/*

  编写一程序P7-710.C实现以下功能

  输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。

注意,图1中的括号不是<>而是(),编程可用素材:

printf("Inputalowercaseletter:

")...。

  程序的运行效果应类似地如图1所示,图1中的y是从键盘输入的内容。

*/

#include

intmain(void)

{

charletter;

printf("Inputalowercaseletter:

");

scanf("%c",&letter);

printf("\n%c(%d)\n%c(%d)",letter,letter,(letter-32),(letter-32));

return0;

}

/*P7-711.C*/

/*

 编写一程序P7-711.C实现以下功能

  用scanf输入圆半径r,圆柱高h,求圆周长C1(=2πr)、圆面积S(=πr2)、

圆柱体积V(=πr2h)。

(注意:

本题中规定圆周率取值为3.14)

  程序的运行效果应类似地如图1所示,图1中的r=1.3,h=5是从键盘输入的内容。

*/

#include

#include

#definePI3.14

intmain(void)

{

doubler,h;

doubleC1,S,V;

printf("Input:

");

scanf("r=%lf,h=%lf",&r,&h);

C1=2*PI*r;

S=PI*r*r;

V=PI*r*r*h;

printf("C1=%.2lf\nS=%.2lf\nV=%.2lf",C1,S,V);

return0;

}

/**P7-712.c/

/*

编写一程序P7-712.C实现以下功能

  判断输入的正整数是否既是5又是7的整倍数,若是,则输出“Yes.”;否则输出“No.”。

  程序的运行效果应类似地如图1和图2所示,图1中的75和图2中的105是从键盘输入的内容。

*/

#include

intmain(void)

{

intxx;

printf("Pleaseinputaninteger:

");

scanf("%d",&xx);

if(xx%5==0&&xx%7==0)

{

printf("\nYes.");

}

else

{

printf("\nNo.");

}

return0;

}

/*P7-713.C*/

/*编写一程序P7-713.C实现以下功能

  用scanf输入某年某月某日,判断这一天是这一年的第几天?

以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

注:

判断年份是否为闰年的方法——为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍数,为闰年,如1996年。

  程序的运行效果应类似地如图1所示,图1中的2000-3-1是从键盘输入的内容。

*/

#include

intpanduan(inty);

intmain(void)

{

intyy,mm,dd,k,ts,TS,i,j,sum=0;

printf("pleaseinput:

year-month-day\n");

scanf("%d-%d-%d",&yy,&mm,&dd);

k=panduan(yy);

for(i=1;i<=mm;i++)

{

if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)

{

ts=31;

}

elseif(k==0&&i==2)

{

ts=29;

}

elseif(k==1&&i==2)

{

ts=28;

}

else

{

ts=30;

}

if(i!

=mm)

{

TS=ts;

}

else

{

TS=dd;

}

for(j=1;j<=TS;j++)

{

sum++;

}

}

printf("Itisthe%dthday.",sum);

return0;

}

intpanduan(inty)

{

intk;

if(y%400==0)

{

k=0;

}

elseif(y%100!

=0&&y%4==0)

{

k=0;

}

else

{

k=1;

}

returnk;

}

/*P7-720.c*/

#include

main()

{

floatn,m;

doublea,b;

printf("pleaseinputtwonumbers:

");

scanf("%f,%f",&n,&m);

a=(double)n;

b=(double)m;

printf("a=%lf,b=%lf",a,b);

}

/*P7-721.c*/

/*

 编写一程序P7-721.C实现以下功能

  从键盘输入x,y,z的值,编写程序输出以下表达式的值:

x+z%3*(int)(x+y)%2/4

  程序的运行效果应类似地如图1所示,图1中的2.5,4.7,7是从键盘输入的内容。

*/

#include

#include

intmain(void)

{

doublex,y,z;

doublesum1=0,sum2=0,sum=0;

printf("pleaseinputx,y,z:

");

scanf("%lf,%lf,%lf",&x,&y,&z);

sum1=(int)z%3;

sum2=(int)(x+y)%2/4;

sum=x+sum1*sum2;

printf("%.6lf",sum);

return0;

}

/*p7-722.c*/

/*

编写一程序P7-722.C实现以下功能

  从键盘输入一日期,年月日之间以“-”分隔,并以同样的形式但以“/”作分隔符输出。

  程序的运行效果应类似地如图1所示,图1中的2009-12-9是从键盘输入的内容。

*/

#include

intmain(void)

{

intyy,mm,dd;

printf("pleaseinputadate");

scanf("%d-%d-%d",&yy,&mm,&dd);

printf("\nthedateis:

%d/%d/%d",yy,mm,dd);

return0;

}

/*P7-723.C*/

/*编写一程序P7-723.C实现以下功能

  输入三角形的三边长a、b、c(边长可以是小数),求三角形面积area,并输出。

如果输入的三边构不成三角形,应给出“dataerror”的信息提示。

注:

根据“海伦-秦九韶”公式,area=√p(p-a)(p-b)(p-c),其中p=(a+b+c)/2。

  程序的运行效果应类似地如图1和图2所示,图1中的3,4,5和图2中的3,4,8是从键盘输入的内容。

*/

#include

#include

intmain(void)

{

floatbian1,bian2,bian3;

doublearea,pinjun;

printf("pleaseinputtriangesides:

");

scanf("%f,%f,%f",&bian1,&bian2,&bian3);

if(bian1+bian2<=bian3||bian1+bian3<=bian2||bian2+bian3<=bian1)

{

printf("\ndataerror\n");

}

else

{

pinjun=(bian1+bian2+bian3)/2;

area=sqrt(pinjun*(pinjun-bian1)*(pinjun-bian2)*(pinjun-bian3));

printf("\narea=%.2lf\n",area);

}

return0;

}

/*P7-727.c*/

/*

编写一程序P7-727.C实现以下功能

  输入两个整数,输出这两个整数的和

  程序的运行效果应类似地如图1所示,图1中的34是从键盘输入的内容。

*/

#include

intmain(void)

{

intaa,bb;

intsum=0;

printf("p

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

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

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