成都信息工程学院C语言作业答案.docx
- 文档编号:4807944
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:126
- 大小:1.22MB
成都信息工程学院C语言作业答案.docx
《成都信息工程学院C语言作业答案.docx》由会员分享,可在线阅读,更多相关《成都信息工程学院C语言作业答案.docx(126页珍藏版)》请在冰豆网上搜索。
成都信息工程学院C语言作业答案
分类一
1.编写一程序P1-111.C实现以下功能
x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Pleaseinputx:
),然后计算并在屏幕上输出函数值。
注意,图1中的括号不是<>而是(),编
程可用素材:
printf("Pleaseinputx:
")...。
厂-5x+27(x<0)
F(x)=卜7909(x=0)
L2x-1(x>0)
程序的运行效果应类似地如图1所示,图1中的3是从键盘输入的内容。
口卜1
Pleaseinput
u
[ 20 #include intmain(void) { intx; doubley; printf("Pleaseinputx: "); scanf("%d",&x); if(x>0) { y=(double)2*x-1; } else { if(x==0) { y=(double)7909; } else { y=(double)-5*x+27; } } printf("\nF(%d)=%.0lf\n",x,y); return0; } 2.P1-113已知某银行整存整取存款不同期限的年息利率分别为: 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 { intbenjin,cunqi;doublelixi;doublemoney; printf("\nPleaseinputbenjin,cunqi: ");scanf("%d,%d",&benjin,&cunqi); money=benjin; if(cunqi==1) { lixi=money*cunqi*3.15/100; } else { if(cunqi==2) { lixi=money*cunqi*3.63/100; } else { if(cunqi==3) { lixi=money*cunqi*4.02/100; } else { if(cunqi==5) { lixi=money*cunqi*4.69/100; } else { if(cunqi==8) { lixi=money*cunqi*5.36/100; } } printf("\nlixi=%.2fyuan\n",lixi); return0; } 3.P1-114编写一个简单计算器程序,输入格式为: datalopdata2。 其中datal和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、% 程序的运行效果应类似地如图1、图2、图3、图4所示,图1中的3000+2000、图2中的3000%2000、图3中的3000%0和图4中的3000/0是从键盘输入的内容。 #inelude { intdatal,data2;doublejieguo; charop; printf("\nPleaseinputdata1opdata2: ");scanf("%d%c%d",&data1,&op,&data2); switch(op){ case'+': jieguo=(double)data1+data2;printf("\n%d%c%d=%.0f\n",data1,op,data2,jieguo);break; case'-': jieguo=(double)data1-data2;printf("\n%d%c%d=%.0f\n",data1,op,data2,jieguo);break; case'*': jieguo=(double)data1*data2;printf("\n%d%c%d=%.0f\n",data1,op,data2,jieguo);break; case'/': if(data2! =0) {jieguo=(double)data1/data2;printf("\n%d%c%d=%.0f\n",data1,op,data2,jieguo);break; }else{ printf("\nError! chushuwei0.\n");break; }case'%': if(data2! =0) { jieguo=data1%data2;printf("\n%d%c%d=%.0f\n",data1,op,data2,jieguo);break; }else{printf("\nError! chushuwei0.\n");break; }default: printf("\nError! \n"); } return0; monthinput”。 } 4.输入月份,打印2003年该月有几天。 当输入的月份超范围时,应显示“Invalid pleaseinputthemonthnunbei': 4 2303.4has30days 尊命令提示符 pleaseinputthemonthnumber: 13InvalidiRt>nt: hinput! #inelude intmain(void) { intmonth; intday; printf("\npleaseinputthemonthnumber: ");scanf("%d",&month); switch(month) { case1: case3: case5: case7: case8: case10: case12: day=31; printf("\n2003.%dhas%ddays.'n",month,day);break; case4: case6: case9: case11: day=30; printf("\n2003.%dhas%ddays.\n",month,day);break; case2: day=28; printf("\n2003.%dhas%ddays.\n",month,day); break;default: printf("\nlnvalidmonthinput\n");} return0; } 5.已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位: 元): profit<1000没有提成; 1000Vprofit<2000提成10% 2000Vprofit<5000提成15% 5000Vprofit<10000提成20% 10000Vprofit提成25% 请根据输入的利润计算员工的薪水。 程序的运行效果应类似地如图1所示,图1中的2000是从键盘输入的内容。 #include intmain(void) { intprofit; doublesalary=500; printf("\nInputprofit: ");scanf("%d",&profit); if(profit<=1000) {salary=500; } if(profit>1000&&profit<=2000) { salary=salary+profit*0.1; } if(profit>2000&&profit<=5000) { salary=salary+profit*0.15; } if(profit>5000&&profit<=10000) { salary=salary+profit*0.2; } if(profit>10000) salary=salary+profit*0.25; } printf("salary=%.2f\n",salary);return0; } []6.编写一程序P7-708.C实现以下功能 输入一个三位正整数,然后逆序输出。 如输入123,则输出321。 程序的运行效果应类似地如图1所示,图1中的752是从键盘输入的内容。 #include { intnum,i;charstr[4]; printf("Inputaninteger: ");scanf("%d",&num); itoa(num,str,10);printf("Theresultis"); for(i=2;i>=0;i--) { printf("%c",str[i]); } printf("\n"); return0; }*/ intmain(void) { intnum; printf("Inputaninteger: ");scanf("%d",&num); printf("Theresultis");do { printf("%d",num%10);num=num/10; }while(num); printf("\n"); return0; cf7.编写一程序P7-713.C实现以下功能 用scanf输入某年某月某日,判断这一天是这一年的第几天? 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。 注: 判断年份是否为闰年的方法一一为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍 数,为闰年,如1996年。 程序的运行效果应类似地如图1所示,图1中的2000-3-1是从键盘输入的内容。 Pleaseinput-year—month_day2000-3—1 11icthe61tli Jk, d —1叮 #include intmain(void) { intye,mo,da,sum=0,i; intmday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; printf("Pleaseinput: year-month-day\n"); scanf("%d-%d-%d",&ye,&mo,&da); for(i=1;i { sum=sum+mday[i]; } if((ye%400==0||ye%100! =0&&ye%4==0)&&mo>2) { sum++; } sum=sum+da; printf("Itisthe%dthday.\n",sum); return0; } 8.P7-723.C输入三角形的三边长a、b、c(边长可以是小数),求三角形面积area,并输出。 如果输入的三边构不成三角形,应给出“dataerror”的信息提示。 注: 根据“海伦一秦九韶”公式,area=Vp(p-a)(p-b)(p-c),其中p=(a+b+c)/2。 程序的运行效果应类似地如图1和图2所示,图1中的3,4,5和图2中的3,4,8是从键盘输入的内容。 €命令提示符 [-[□W pleaseinputtriangesides4,5 3 area=6.30 zJ #include #inelude { doubleaa,bb,cc,pp,ss,tt; printf("\npleaseinputtriangesides: ");seanf("%lf,%lf,%lf",&aa,&bb,&cc); if((aa+bb>cc)&&(aa+cc>bb)&&(bb+cc>aa)) { pp=(aa+bb+cc)/2; tt=pp*(pp-aa)*(pp-bb)*(pp-cc); ss=sqrt(tt); printf("\narea=%.2lf\n",ss); } else { printf("\ndataerror\n"); } return0; } 9.7-731输出n行星号,每行5个*星号。 程序的运行效果应类似地如图1所示,图1中的4是从键盘输入的内容。 亘命令提示符 到 pleaseinputn: 4 -M--W»W« JHLMLAA 3 □ WT■STW9V «*MW* 二] 1* 1卜」 #include { intnn,i; printf("\npleaseinputn: ");scanf("%d",&nn); for(i=1;i<=nn;i++) { printf("*****\n”); } return0; } 10.编写一程序P7-736.C实现以下功能 从键盘上输入一个四位整数,计算各个位上的数字之和。 程序的运行效果应类似地如图1所示,图1中的1234是从键盘输入的内容。 #include intmain(void) { intnum,sum=0; printf("Inputanumberwith4-digit: ");scanf("%d",&num); do { sum=sum+num%10; num=num/10; }while(num); printf("sum=%d\n",sum); return0; } 11.从键盘输入3个整数,输出绝对值最大的数。 程序的运行效果应类似地如图1所示,图1中的1,2,3是从键盘输入的内容。 #include intmain(void){ intnum[3],i,j; printf("Input3numbers: "); scanf("%d,%d,%d",&num[0],&num[1],&num[2]); j=0; for(i=1;i<3;i++) { if(ab(num[j]) {j=i; } } printf("Thenumberwithmaximumabsolutevalueis%d.\n",num[j]);return0; } intab(intx) { if(x>=0) { returnx; }return-x; } 12.设某企业2006年的产值为5000万,计划以后每年的增长率为x(x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应 考虑有小数)。 程序的运行效果应类似地如图1所示,图1中的50是从键盘输入的内容。 #include intmain(void) { floatchanzhi=5000,xx;intyear=2006; printf("\nPleaseinputx: ");scanf("%f",&xx); while(chanzhi<10000) { chanzhi=chanzhi*(1+xx/100);year++; } printf("\nyear=%dnian,chanzhi=%.2f\n",year,chanzhi);return0; 13.编写一程序P2-221.C实现以下功能 从键盘读入一个字符串(最多127个字符),检查该字符串是否是回文。 所谓回文即正向与反向的拼写都一样,例如: adgda。 程序的运行效果应类似地如图1和图2所示,图1中的asdfghjhgfdsa和图2中的asdfghjhgfdsaa是从键盘输入的内容。 #inelude #inelude { inti,j,len; charaa[128]; printf("\nPleaseinputstring: ");gets(aa); len=strlen(aa); for(i=0,j=len-1;i if(aa[i]! =aa[j]) { break; } } if(i>=j) { printf("\n%sshihuiwen.",aa); }else { printf("\n%sbushihuiwen.",aa); return0; } 14.用seanf输入10个整数(采用int数据类型),计算所有正数的和、负数的和以及10个数的和。 程序的运行效果应类似地如图1所示,图1中的4620-453556-23-4970是从键盘输入的内容。 #inelude intmain(void) { intaa[10],i; floatsum1=0,sum2=0,sum3=0; printf("\nInput10integers.'n"); for(i=0;i<10;i++) { seanf("%d",&aa[i]); } for(i=0;i<10;i++) { if(aa[i]>0) { sum1=sum1+aa[i]; } else { sum2=sum2+aa[i]; } sum3=sum1+sum2; } printf("\nzhengshu=%.0f,fushu=%.0f,all=%.0f\n",sum1,sum2,sum3); return0; } 15.7-732编写一程序P7-732.C实现以下功能,输入3行3列的矩阵,输出所有元素的累加和程序的运行效果应类似地如图1所示,图1中的 123 456 789 是从键盘输入的内容。 1芭命令提示符 tnng6寸1 H Nlf)ea£ £ t? Jk. —— rJ 上|必 #inelude intmain(void) { inti,j,aa[3][3],sum=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%d",&aa[i][j]); } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { sum=sum+aa[i][j]; } } printf("sum=%d",sum);return0; printf("lnputastring: ");gets(aa); len=strlen(aa); bb[len]='\0'; for(i=0,j=len-1;i { bb[j]=aa[i]; } printf("Theresultis: "); puts(bb); return0; } 17.从键盘输入一个一百分制成绩,如果不在0〜100范围内,则要求重新输入数据,直到输入的 数据在0〜100范围内。 将输入的数据转换成等级‘A',‘B',‘C',‘D',‘E'。 90分以上为‘A',80〜89分为‘B',70〜79分为‘C,60〜69分为‘D',60分以下为‘E',要求使用switchcase/default语句,结果赋值给变量grade,并将变量grade的值输出到屏幕上。 注意: 变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。 编程可用素材: printf("pleaseinputthescore(0-100): ")...、 printf("score=…,grade=...\n",...。 程序的运行效果应类似地如图1所示,图1中的103和55是从键盘输入的内容。 #include { floatscore;chargrade; printf("pleaseinp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 成都 信息工程学院 语言 作业 答案