请把下面程序补充完整,正确答案是( )。 main( ) { float radius,length,area,volume; printf("Input a radius:"); Scanf("%f",&radius); length=2.0*PI*radius; /*引用无参宏求周长*/area=PI*radius*redius; /*引用无参宏求而积*/ volume=PI*radius*radius*radius*3/4; /*引用无参宏求体积*/ printf("length=%.2f,area

题目

请把下面程序补充完整,正确答案是( )。 main( ) { float radius,length,area,volume; printf("Input a radius:"); Scanf("%f",&radius); length=2.0*PI*radius; /*引用无参宏求周长*/area=PI*radius*redius; /*引用无参宏求而积*/ volume=PI*radius*radius*radius*3/4; /*引用无参宏求体积*/ printf("length=%.2f,area=%.2f,volume=%.2f\n",length,area,volume); }

A.PI=3.1415926

B.Const PI=3.14159

C.#define PI3.1415926

D.Float PI=3.14159


相似考题

3.●试题六阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。【说明】源程序中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。①定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。②定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。③完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、 ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。④完成Money类成员函数float Money::TotalMoney(float fencelen, float conarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test4.cpp清单如下:#include <iostream.h>(1)class Circle{private:float radius;public:(2)float Circumference(){return 2 * PI * radius;}float Area(){return PI * radius * radius;}};class Money{private:float FencePrice;float ConcretePrice;public:Money(float f,float c);float TotalMoney(float fencelen, float conarea);};Money::Money(float f,float c){(3)}float Money::TotalMoney(float fencelen, float conarea){(4)}void main(){float radius,fence,concrete;cout.setf(ios::fixed);cout.setf(ios::showpoint);cout.precision (2) ;cout << "Enter the radius of the pool: ";cin >> radius;cout << "Enter the FencePrice: ";cin >> fence;cout << "Enter the ConcretePrice: ";cin >> concrete;Circle Pool(radius);Circle PoolRim(radius + WIDTH);Money mon(fence,concrete);float totalmoney=mon.TotalMoney(PoolRim.Circumference(),(PoolRim.Area() - Pool.Area()));cout << "The total money is RMB " << totalmoney << endl;}

更多“请把下面程序补充完整,正确答案是()。main( ){float radius,length,area,volume; printf("Input a ”相关问题
  • 第1题:

    有以下程序 include main() { int n,*p=NULL; *p=&n; printf("

    有以下程序 #include <stdio.h> main() { int n,*p=NULL; *p=&n; printf("Input n:");scanf("%d",&p);printf("output n:");printf("%d\n",p); } 该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是

    A.int n,*p=NULL;

    B.*p=&n;

    C.scanf("%d",&p)

    D.printf("%d\n",p);


    正确答案:A
    解析:指针变量在定义时需要加星号,而在赋值时则不用,故选项B)错误。本题中,scanf()函数和printf()函数都是要对指针变量p指向的地址处的数据进行访问,不是变量本身。选项C)中多了取地址运算符,选项D)中少了指针运算符。

  • 第2题:

    有以下程序:inlucdemain()D)2 3 3{int n,*P=NULL;*p=&n;printf("input n:");scanf("%d

    有以下程序: #inlucde<stdio.h> main()D)2 3 3 {int n,*P=NULL; *p=&n; printf("input n:");scanf("%d",&p);printf("output n:");printf("%d\n",p); } 该程序试图通过指针P为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( )。

    A.int n,*P=NULL;

    B.*P=&n;

    C.scanf(“%d",&p)

    D.printf("%d\n",p);


    正确答案:A

  • 第3题:

    以下程序的运行结果是( )。 define A 4 define B(x)A*x/2 main() {float c,a=8.0; c=B(A; printf("%f\n",C); }


    正确答案:16.0
    16.0

  • 第4题:

    使用VC6打开考生文件夹下的工程test9_3,此工程包含一个源程序文件test9_3.cpp,其中定义了Circle类与Money类, Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。

    (1)定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。请在注释“//**1**”之后添加适当的语句。

    (2)定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。请在注释 “//**2**” 后添加适当的语句。

    (3)完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。请在注释“//**3**”之后添加适当的语句。

    (4)完成Money类成员函数floatMoney::TotalMoney(noat fencelen,float conarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。请在注释“//**4**”之后添加适当的语句。

    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

    源程序文件test9_3.cpp清单如下:

    include<iostream.h>

    //**1**

    class Circle

    {

    private:

    float radius;

    public:

    //**2**

    float Circumference(){return 2 * PI * radius;)

    float Area(){return PI * radius * radius;)

    };

    class Money

    {

    private:

    float FencePrice;

    float ConcretePrice;

    public:

    Money(float f,float c);

    float TotalMoney(float fencelen, float conarea);

    };

    Money::Money(float f,float c)

    {

    //**3**

    }

    float Money::TotalMoney(float fencelen,float conarea)

    {

    //**4**

    }

    void main()

    {

    float radius,fence,concrete;

    cout.setf(10s::fixed);

    cout.setf(ios::showpoint);

    cout.precision(2);

    cout<<"Enter the radius of the pool:";

    cin>>radius;

    cout<< "Enter the FencePrice:";

    cin>>fence;

    cout<<"Enter the ConcretePrice:";

    cin>>concrete;

    Circle Pool(radius);

    Circle PoolRim(radius + WIDTH);

    Money mon(fence,concrete);

    float totalmoney=mon.TotalMoney(PoolRim.Circumference(),(PoolRim.Area() - P00l.Area()));

    cout<<"The total money is RMB"<<totalmoney<<endl;

    }


    正确答案:(1) const float PI=3.14159f; const float WIDTH=3.00f; (2) Circle(noat r):radius(r){}; (3) FencePrice=f; ConcretePrice=c; (4) return FencePrice*fencelen+ConcretePrice*conarea;
    (1) const float PI=3.14159f; const float WIDTH=3.00f; (2) Circle(noat r):radius(r){}; (3) FencePrice=f; ConcretePrice=c; (4) return FencePrice*fencelen+ConcretePrice*conarea; 解析:本题考查了考生对符号常量的定义及类的定义与实现等方面的内容。注意常类型的定义应使用const关键字。

  • 第5题:

    有如下程序main(){ float x=2.0,y;if(x<0.0)y=0.0;else if(x>10.0)y=1.O/x;else y=1.0;printf("%

    有如下程序 main() { float x=2.0,y; if(x<0.0)y=0.0; else if(x>10.0)y=1.O/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是

    A.0

    B.0.25

    C.0.5

    D.1


    正确答案:D
    解析:本题考查if语句中的一种表达方式,即:if…elseif…。该表达式的语句是:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3else语句4……本题执行elsey=1.0,并且以“%f”输出。注意:条件表达式在if语句中的使用。

  • 第6题:

    阅读以下说明和JAVA 2代码,填入(n)处的。

    [说明]

    以下JAVA程序实现了在接口interface iShape2D的定义和应用,仔细阅读代码和相关注释,将程序补充完整。

    [代码6-1]

    interface iShape2D //定义接口

    {

    (1)

    (2)

    }

    (3)//实现CRectangle类

    {

    int width, height;

    (4) CRectangle (int w,int h) {

    width=w;

    height=h;

    }

    public void area ( ){ //定义area( )的处理方式

    System. out.println ("area="+width*height);

    }

    }

    (5)//实现CCircle类

    {

    double radius;

    (6) CCircle (double r) {

    radius=r;

    }

    public void area ( ) { //定义area( )的处理方式

    System.out.println ("area="+pi*radius*radius);

    }

    }

    [代码6-2]

    public class app10_4

    {

    public static void main(String args[])

    {

    CRectangle rect=new CRectangle (5,10);

    rect.area ( ); //调用CRectangle类里的area ( ) method

    CCircle cir=new CCircle (2.0);

    cir.area ( ); //调用CCircl类里的area ( ) method

    }

    }


    正确答案:(1)final double pi=3.14; (2)abstract void area(); (3)class CRectangle implements iShape2D (4)public (5)class CCircle implements iShape2D (6)public
    (1)final double pi=3.14; (2)abstract void area(); (3)class CRectangle implements iShape2D (4)public (5)class CCircle implements iShape2D (6)public 解析:本题JAVA程序实现了接口interface iShape2D的定义和应用。(1)和(2)定义pi和面积函数area(),可从下文得到,它们位置可以互换。(3)定义Crectangle,继承iShape2D。(4)应该为public关键字。(5)定义CCircle,继承iShape2D。(6)应该为public关键字。

  • 第7题:

    执行下面程序的正确结果是 ( ) main() {float a=1.9 switch(A) { case 0:printf("0000"); case 1:printf("1111"); case 2:printf("3333"); } printf("%f",A) ; }

    A.1.900000

    B.111133331.900000

    C.33331.900000

    D.00001111233331.900000


    正确答案:B

  • 第8题:

    Interrupts are an important part of embedded

    systems. Consequently, many compiler vendors

    offer an extension to standard C to support interrupts.

    Typically, the keyword is __interrupt. The following

    code uses __interrupt to define an interrupt service

    routine (ISR). Point out problems in the code.

    __interrupt double compute_area (double radius)

    {

    double area = PI * radius * radius;

    printf("\nArea = %f", area);

    return area;

    }


    正确答案:
     

  • 第9题:

    下列程序中,正确的为______。

    A.main() { int *pb=&b; float 1>=15.25; print f("%d\n" ,*pb); }

    B.amin() { int a,*pa; a=10; *pa=a; prinffC%d",*pa); }

    C.main() { char s[20]; char *ps=&s; scanf("%s",*p); printf("%s",*p); }

    D.main() { char str[10]; int *ps=str[0]; str="abcdefg"; printf("%s",*p); }


    正确答案:B

  • 第10题:

    ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]有一个一维数组cj,内放20个学生成绩,求平均成绩。函数ave用来求20个学生的平均成绩。[C语言函数]float ave(float a[20]){ int i;float aver,sum= (1) ;for(i=1;i<20;i++) sum= (2) ;aver= (3) ;return( (4) );}main(){ float cj[20],aver;int i;printf(“input 20 cj:\n”);for(i=0;i<20;i++) scanf(“%f”,&cj[i]);printf(“\n”);aver= (5) ;printf(“average cj is %6.2f”,aver);}


    正确答案:()
    (1)a[0]   (2)sum+a[i]  (3)sum/20   (4)aver  (5)ave(cj)
    sum是用来存放学生的总成绩的,所以又由于在下面的for循环里i是从1开始的,所以(1)应填a[0],(2)应填sum+a[i],aver是用来求平均成绩的,所以(3)应填sum/20,(4)应填返回的结果,因此应将平均值aver返回。所以(4)应填aver,(5)应该是调用函数ave求平均值,所以应填ave(cj)。
     

  • 第11题:

    请读程序: #include void fun(float *pl, float *p2, float *s) { s=( float * )calloc( 1, sizeof(float)); *s=*p1+ *(p2++); } main( ) { float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a; fun(a, b, s) printf(""%f/n"",*s); } 上面程序的输出结果是()

    • A、11.100000
    • B、12.100000
    • C、21.100000
    • D、1.100000

    正确答案:C

  • 第12题:

    问答题
    给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。  请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。  注意:部分源程序给出如下。  不得增行或删行,也不得更改程序的结构!  试题程序:#include #include typedef struct{ int num; char name[9]; float score[3];} STU;void show(STU tt){ int i; printf(%d %s:,tt.num,tt.name); for(i=0; i<3; i++) printf(%5.1f,tt.score[i]); printf();}/*********found*********/void modify(①______ *ss,float a){ int i; for(i=0; i<3; i++)  /*********found*********/  ss->②______*=a;}main(){ STU std={1,Zhang,76.5,78.0,82.0}; float a; printf(The original number and name and scores:); show(std); printf(Input a number:); scanf(%f,&a); /*********found*********/ modify(③______,a); printf(A result of modifying:); show(std);}

    正确答案:

    ①STU
    ②score[i]
    ③&std
    解析:

      填空1:形参ss是一个结构型指针变量,应填STU。
      填空2:该学生的各科成绩都乘以一个系数a,应填score[i]。
      填空3:函数的调用,由于函数定义时使用的指针结构型变量,应填&std。

  • 第13题:

    main(){ float x=123.456; printf("%-5.2f\n",x);}以上程序输出的结果是______。

    A.123.4

    B.123.5

    C.123.45

    D.123.46


    正确答案:D
    解析:f格式符,用来输出实数,以小数形式输出。“%-m.nf”的含义是:输出数据共占m列,其中n位小数,如果输出位数小于m,则右端补空格。如果总长度大于列数,则按实际情况四舍五入输出。

  • 第14题:

    下列给定程序中,函数fun()的功能是;计算函数 F(x, y ,z)=(x+ y)/(x-y)+(z+ y)/(z-y)的值。其中x和y不相等,z和y不等。例如,当x的值为9,y的值为11,2的值为15时,函数值为-3.50。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <stdio. h>

    include <math. h>

    /**************found******************/

    define FU(m, n) (m/n)

    float fun(float a, float b, float c)

    { float value;

    value=FU(a+ b, a-b)+FU(c+ b, c-b);

    /*************found******************/

    return(Value);

    }

    main()

    { float x, y, z, sum;

    printf ("Input x y z:: ");

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

    printf("x=%f, y=%f, z=%f\n ",x, y, z);

    if (x==y||y==z) {printf ("Data error! \n ");

    exit (0); }

    sum=fun (x, y, z);

    printf("The result is:%5. 2f\n ",sum);

    }


    正确答案:(1)错误;#define FU(m n) (m/n) 正确:#define FU(mn) (m)/(n) (2)错误:return (Value); 正确:return (value);
    (1)错误;#define FU(m, n) (m/n) 正确:#define FU(m,n) (m)/(n) (2)错误:return (Value); 正确:return (value); 解析:如果从数学思想来说,这是一道简单的小学数学题,当然,用C语言的别的办法实现的话,也用不了三两句的程序,但是,这道题的考查点在C语言的宏定义上(这样的问题比较隐蔽),它的格式为#define 标识符字符串,中间要用空格分开,在该题中,标识符为FU (m, n),而字符串则是(m/n),由题干信息易知,应该是# define FU(m,n) (m)/(n)。

  • 第15题:

    指出下面程序段中的错误,并说明出错原因【 】。

    class Location {

    int X, Y=20;

    protected:

    int zeroX, zeroY;

    int SetZero(int ZeroX, iht ZeroY);

    private:

    int length, height;

    public:

    float radius;

    void init(int initX,int initY);

    int GetX();

    Int GetY();

    };


    正确答案:int XY=20; 出错不能采用这种方式初始化
    int X,Y=20; 出错,不能采用这种方式初始化

  • 第16题:

    有如下程序main(){float x=2.0,y;if(x<0.0)y=0.0;else if(x>10.0)y=1.0/x;else y=1.0;printf("%f

    有如下程序 main() {float x=2.0,y; if(x<0.0)y=0.0; else if(x>10.0)y=1.0/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是

    A.0.000000

    B.0.250000

    C.0.500000

    D.1.000000


    正确答案:D

  • 第17题:

    以下程序的输出结果是【】。 include main() {struct stru {int a; float b; char d[4]; }

    以下程序的输出结果是【 】。

    include<stdio.h>

    main()

    { struct stru

    { int a;

    float b;

    char d[4];

    };

    printf("%d\n",sizeof(struct stru));

    }


    正确答案:10
    10 解析:结构体变量占用内存空间的字节数是结构体各分量占用内存空间的字节数的总和。int型变量占用2字节,float型变量占用4字节,char型占用1字节,char d[4]是含有4个元素的char型数组,占用4字节。sizeof(struct stru)是计算结构体变量占用内存空间的字节数,2+4+4=10。

  • 第18题:

    下面的程序在编泽时产生错误,其出错原因是()。includemain(){int 1_case;float printF;

    下面的程序在编泽时产生错误,其出错原因是( )。 #include<stdio.h> main() {int 1_case;float printF; printf("请输入2个数:"); scanf ("%d%f",&1_case,&printF); printf("%d%f\n",1_case,printF); }

    A.定义语句出错,1_case不能作为变量名

    B.定义语句出错,printF不能用作用户自定义标识符

    C.定义语句无错,scanf不能作为输入函数使用

    D.定义语句无错,printf不能输出1_case的值


    正确答案:A
    解析:C语言变量名可由数字,字母,下划线构成,但首字符不能为数字。

  • 第19题:

    阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

    【说明】

    以下程序的功能是计算正方体、球体和圆柱体的表面积和体积并输出。

    程序由4个类组成:类cube、sphere和cylinder分别表示正方体、球体和圆柱体;抽象类 container为抽象类,提供了两个纯虚拟函数surface_area()和volum(),作为通用接口。

    【C++程序】

    include<iostream.h>

    define pi 3.1416

    class container{

    protected:

    double radius;

    public:

    container(double radius) {container::radius=radius;}

    virtual double surface_area()=0;

    virtual double velum()=0;

    };

    class cube:(1){ //定义正方体类

    public:

    cube(double radius):container(radius){};

    double surface_area () {return 6 * radius * radius;}

    double volum() {return radius * radius * radius;}

    };

    class sphere:(2){ //定义球体类

    public:

    sphere(double radius): container(radius){};

    double surface_area() { return (3);}

    double volum() {return pi * radius * radius * radius * 4/3;}

    };

    class cylinder:(4){ //定义圆柱体类

    double height;

    public:

    cylinder(double radius,double height):container(radius)

    {

    container::height=height;

    }

    double surface_are a () { return 2 * pi * radius * (height+radius); }

    double volum () {return (5);}

    };

    void main()

    {

    container * p;

    cube obj1 (5);

    sphere obj2(5);

    cylinder obj3(5,5);

    p=&obj1;

    cout<<“正方体表面积”(<<p->surface_area()<<end1;

    cont<<“正方体体积”<<p->volume()<<end1;

    p=&obj2;

    cout<<“球体表面积”<<p->surface_area()<<end1;

    cout<<“球体体积”<<p->volume()<<end1;

    p=&obj3;

    cout<<“球体表面积”<<p->surface_area()<<end1;

    cout<<“球体体积”<<p->volume()<<end1;

    }


    正确答案:(1)public container (2)public container (3) 4 * pi * radius * radius (4) public container (5)pi * radius * radius * height
    (1)public container (2)public container (3) 4 * pi * radius * radius (4) public container (5)pi * radius * radius * height 解析:类cube、sphere和cylinder分别表示正方体、球体和圆柱体,它们都需要求各自的表面积和体积,而抽象类container提供纯虚拟函数 surface_area()和velum(),所以类cube、sphere和cylinder都以类contain为基类,公有继承,所以(1)、(2)和(4)空应填入“public container”。
    (3)空处为类sphere中求表面积函数的返回值,所以根据球体表面积公式应填入“4*pi*radius*radius”。
    (5)空处为类cylinder中求圆柱体体积函数的返回值,所以根据圆柱体体积公式应填入“pi*radius*radius*height”。

  • 第20题:

    下面程序的运行结果是typedef union student{ char name[10]; long sno; char sex; float score[4];}STU;main(){ STU a[5]; printf("%d\n",sizeof(a));}


    正确答案:80
    根据共用体变量的特点可知,共用体变量所占的内存长度等于最长的成员的长度,所以变量STU所占的字节数等于其成员score[4]所占的字节数,即为16个字节,最终打印出共用体数组a[5]的长度为16´5=80。

  • 第21题:

    下面程序的执行结果是()。includeusing namespace std;class building {public:buildi

    下面程序的执行结果是( )。 #include<iostream> using namespace std; class building { public: building() {} building(unsigned stories, float breadths, float lengths) { story = stories; breadth = breadths; length = lengths;} void getstory(void) { cout<<"story is:"<<story<<endl;} void getarea(void) { area = length*breadth*story;cout<<"area is:"<<area<<endl;} private: unsigned story; float length; float breadth; float area; }; void main(void) { building b1,b2;building b3(10u,16.6,58.8); b1.getstory(); b1.getarea(); b2.getstory(); b2.getarea(); b3.getstory(); b3.getarea();}

    A.story is:0 area is:0 story is:0 area is:0 story is:10 area is:9760.8

    B.story is:null area is:null story is:null area is:null story is:10 area is:9760.8

    C.前两个对象输出的结果是不定的,后一个对象的结果正确

    D.前两个对象没有初值,因此程序编译时出错


    正确答案:C
    解析:该题是关于构造函数重载的,由于前两个对象没有赋初值,值不定。

  • 第22题:

    下面哪个表达式正确使用了math()?

    • A、area=newmath().pt*Radius$adius
    • B、area=math.New().pt*radius$radius
    • C、area=math.NewInstance().Pt#radius$radius
    • D、area=mathpt$radius$radius

    正确答案:D

  • 第23题:

    问答题
    请根据以下各小题的要求设计C应用程序(包括界面和代码)。  下列给定的程序中,函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中。例如,输入的数为55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。  请改正程序中的错误,使它能得到正确结果。  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。  试题程序如下:#include #include void fun(float *p,float *q,float *s){ float *k; k = (float *)malloc(sizeof(float)); if(*p<*q) {  /**********found**********/  k=*p;*p=*q;*q=k; } /**********found**********/ if(*s<*p) {  /**********found**********/  k=*s; *s=*p; *p=k; } if(*q<*s) {  /**********found**********/  k=*q; *q=*s; *s=k; } free(k);}main(){ float a,b,c; printf(Input a b c: ); scanf(%f%f%f,&a,&b,&c); printf(a = %4.1f, b = %4.1f, c = %4.1f,a,b,c); fun(&a,&b,&c); printf(a = %4.1f, b = %4.1f, c = %4.1f,a,b,c);}  

    正确答案:

    (1)错误:{k=*p;*p=*q;*q=k;}
    正确:{*k=*p;* p=*q;*q=*k;}
    (2)错误:if(*s<*p)
    正确:if(*s>*p)
    (3)错误:{k=*s;*s=*p;*p=k;}
    正确:{*k=*8;*s=*p;*p=*k;}
    (4)错误:{k=*q;*q=*s;*s=k;}
    正确:{*k=*q;*q=*s;*s=*k;}
    解析:

      错误1、3、4:函数定义了一个int型指针变量k作为交换的辅助变量,此时不能直接用k,应该用指针指向的变量*k。所以第1、3、4处错误都应把k改成*k。
      错误2:*p存储最大值,*s存储最小值,所以应该把q和s所指向的值与*p进行比较,如果比*p大则与*p交换,所以if(*s<*p)应改为if(*s>*p)。