实验三参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三:参考答案

1、编写程序实现以下功能:输入一个整数,打印出它是奇数还是偶数(文件名为31.c )。 【参考程序】

#include main() {int a;

clrscr(); /*清屏*/

printf("Please Input a:\n"); scanf("%d",&a);

if(a%2==0) printf("%d is ou shu\n",a);/*判断a 是否偶数*/ else printf("%d is ji shu\n",a); }

2、有一函数:

y=⎪⎩

⎪⎨⎧<<+=<<--)

100(12)0(2)05(12x x x x

x x 编写程序,要求输入x 的值,根据上述函数输出y 的值(文件名为32.c )。 【参考程序】

#include main()

{float x,y; clrscr();

printf("Please Input x:\n"); scanf("%f",&x);

if(x<=-5||x>=10) printf("data error\n");/*如输入数据不在题目所要求区间内,则输出数据错误*/

else if(x>-5&&x<0) printf("y=%f\n",2*x-1); else if(x==0) printf("y=%f\n",2*x);

else if(x>0&&x<10) printf("y=%f\n",2*x+1); }

3、回文是指正读和反读都一样的数或文本段。例如:12321、55555都是回文。编写程序,读取一个包含五位数字的整数,判断它是否回文(文件名为33.c 。提示:用除法和求余运算符把整数分解成单个的数字)。 【参考程序】

#include main()

{long x,x1,x2,x4,x5; clrscr();

printf("Please Input x:\n");

scanf("%ld",&x);/*因为x定义为长整型,所以此处的格式控制符应用"%ld"*/

x1=x/10000; /*计算万位*/

x5=x%10; /*计算个位*/

x2=x/1000%10; /*计算千位*/

x4=x%100/10; /*计算十位*/

if(x1==x5&&x2==x4) printf("%ld is hui wen\n",x);/*如万位等于个位,千位等于十位,则x是回文,注意此处输出格式应用"%ld" */

else printf("%ld is not hui wen\n",x);

}

4、编写一个程序,读入三个非0整数,判断并打印出这些值是否能够构成一个三角形的三条边,如能,判断出此三角形的类型(等边、等腰、任意)(文件名为34.c)。

【参考程序】

#include

main()

{int x,y,z;

clrscr();

printf("Please Input x,y,z:\n");

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

/*判断输入的数能组成三角形*/ printf("%d %d %d neng zu cheng ",x,y,z);

/*判断等边*/ else if(x==y||y==z||x==z) printf("deng yao san jiao xing\n");/*判断等腰*/

else printf("ren yi san jiao xing\n");/*判断任意*/

}

else printf("%d %d %d bu neng zu cheng san jiao xing\n",x,y,z);/*输出不能组成三角形*/

}

5、用switch语句实现:输入一百分制成绩,要求输出成绩等级:90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’(文件名为35.c)。

【参考程序】

#include

main()

{float grade;

clrscr();

printf("Input grade:");

scanf("%f",&grade);

switch((int)grade/10) /*将grade强制转换成整型后再整除10*/

{case 10:

case 9: printf("A");break;

case 8: printf("B");break;

case 7: printf("C");break;

case 6: printf("D");break;

default: printf("E");

}

}

6、请编写程序,其功能是:求方程ax2+bx+c=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式(disc=b2-4ac)小于0,则输出方程无实根(文件名为36.c)。

例如:当a=1,b=2,c=1时,方程的两个根分别是x1= -1.00,x2= -1.00。

【参考程序】

#include

main()

{float a,b,c,disc,x1,x2;

clrscr();

do /* 此段黑体字程序保证输入的a,b,c的值能使得b2-4ac不小于0 */

{

printf("Input a,b,c:");

scanf("%f,%f,%f",&a,&b,&c);

disc=b*b-4*a*c;

if(disc<0)

printf("disc=%f\n Input again!\n",disc);

}while( disc<0 );

printf("******the result******\n");

x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

printf("\nx1=%6.2f\nx2=%6.2f\n",x1,x2);

}

7、某公司想用电话来传送数据,但又担心被人窃听。数据都是由四个数字组成的整数。为了使数据传送更加安全一些,公司要你编写一个加密数据的程序。程序读取一个四位整数,然后按如下规则加密:每位数字都加上7,然后用和除以10的余数取代该数字;再把第1位与第3位交换,第2位与第4位交换。再单独编写一个程序,读取一个加密后的四位数字的整数,把它解密成原来的数。

【参考程序】

/*下列程序实现加密算法*/

#include

main()

{int x,x1,x2,x3,x4,y;

clrscr();

printf("Please Input x:\n");

scanf("%d",&x);

x1=x/1000;

相关文档
最新文档