知ing

大学C/C++语言程序设计基础(第2版)

阳小华,马淑萍 著 / 电子工业出版社

冥沙 上传

查看本书

   3  (参考答案)

1.编程实现:用字符输入/输出函数输入3个字符,将它们反向输出。

参考代码(尽量运用本章所学知识)

#include <stdio.h>

main( )

{ char c1,c2,c3;

  c1=getchar(); c2=getchar(); c3=getchar();

  putchar(c3); putchar(c2); putchar(c1);

}

 

2.编程实现:用格式输入/输出函数输入3个字符,将它们反向输出并输出它们的ASCII值。

参考代码(尽量运用本章所学知识)

#include <stdio.h>

main( )

{ char c1,c2,c3;

scanf ("%c%c%c", &c1, &c2, &c3) ;

  printf("%c %d%c %d%c %d ", c3,c3,c2,c2,c1,c1) ;

}

3.变量kfloat 类型,调用函数:

scanf("d", &k);

不能使变量k得到正确数值的原因是:

scanf("d", &k);中的格式控制类型与变量k的定义类型不匹配,应将%d改为%f.

4. ()

             习题4答案

选择题

 1-20    DBDCA    CBDDA     ACABC   BCBBC

 

二、写出下列程序的运行结果

1.  z=36

2.  20 0

3.  12

4.  48,48

5.  13

6.  02

 

编程题(参考答案)

1.输入4个整数a,b,c,d,编写程序,将它们按从大到小顺序输出。

#include<stdio.h>

main()

{ int a,b,c,d,t;

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

if(a<b) {t=a;a=b;b=t;}

if(a<c) {t=a;a=c;c=t;}

if(a<d) {t=a;a=d;d=t;}

if(b<c) {t=b;b=c;c=t;}

if(b<d) {t=b;b=d;d=t;}

if(c<d) {t=c;c=d;d=t;}

printf("%4d%4d%4d%4d",a,b,c,d);

}

 

2.据所输入的3条边长值,判断它们能否构成三角形,如能构成,再判断是等腰三角形、直角三角形还是一般三角形?

源程序:

#include<stdio.h>

#include "math.h"

main()

{float a,b,c,s,area;

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

if((a+b>c)&&(a+c>b)&&(b+c>a)&&(fabs(a-b)<c)&&(fabs(a-c)<b)&&(fabs(b-c)<a))

 {

  if(a==b&&b==c)

    printf("等边三角形");

  else if(a==b||b==c||a==c)

       printf("等腰三角形");

  else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))

      printf("直角三角形");

  else printf("一般三角形");

 }

else printf("不能组成三角形");

}

 

3.输入一个整数,如果能被3,4,5同时整除,则输出“YES”,否则输出“NO”。

 

#include<stdio.h>

main()

{ int t,flag;

  scanf("%d",&t);

  if(t%3==0&&t%4==0&&t%5==0)

   printf("YES");

  else

   printf("NO");

}

 

4.输入年号,判断是否为闰年。判别闰年的条件是:能被4整除但不能被100整除,或者能被400整除。

#include<stdio.h>

main()

{    int year;

     printf("input the year:");

     scanf("%d",&year);

     if(year%4==0&&year%100!=0||year%400==0)         

     printf(" %d is leap year\n",year);

  else

  printf(" %d is't leap year\n",year);

}

 

5.编写程序。根据以下函数关系,对输入的每个x值进行计算,并输出相应的y值。

x

y

x>10

3x+10

1<x≤10

x(x+2)

x≤1

x2-3x+10

 

 

 

 

 

 

#include<stdio.h>

main()

{    double x,y;

     scanf("%lf",&x);

     if(x>10)  y=3*x+10;

 else if(x>1)  y=x*x+2*x;

 else   y=x*x-3*x+10;

 printf(" %lf \n",y);

}


查看更多