第1章习题参考答案
1.单项选择题
(1)    A    (2)  C      (3)  D    (4)  C      (5)    B2.填空题
(1)函数
(2)主函数(main)
(3)printf() , scanf()
    第2章习题参考答案
1.单项选择题
(1)    C    (2)  B      (3)  C    (4)  C      (5)    C(6)    C    (7)  D      (8)  C    (9)  D      (10)    C(11)  D    (12)  B      (13)  B
2.填空题
(1)1
(2)26
(3)6  , 4  , 2
(4)10 ,  6
(5)3.000000
(6)双精度(double)
(7)9
(8)字母 ,数字 ,下划线
(9)13.700000
(10)11
(11)((m/10)%10)*100+(m/100)*10+m%10
(12)0
(13)10  ,9 ,11
(15)(x<0&&y<0)||(x<0&&z<0)||(y<0||z<0)
(16)double
(17)x==0
(18)sqrt(fabs(a-b))/(3*(a+b))
(19)sqrt((x*x+y*y)/(a+b))
    第3章习题参考答案
1.单项选择题
(1)    C    (2)  C      (3)  C    (4)  D      (5)    D(6)    B    (7)  C      (8)  D    (9)  B      (10)    C(11)  B    (12)  C      (13)  B    (14)  B    (15)    B
(16)  A
2.填空题
(1)用;表示结束
(2){ }
(3)y=x<0?1:x==0?0:-1
(4)y%4==0&&y%100!=0||y%400==0
(5)上面未配对
(6)default标号
(7)while  , do while  , for
(8)do while
(9)本次
(10)本层
3.阅读程序,指出结果
(1)yes
(2)*&
(3)ABother
(4)28  70
(5)2,0
(6)8
(7)36
(8)1
(9)3,1,-1,3,1,-1
(10)a=12 ,y=12
(11)i=6,k=4
(12)1,-2
4.程序填空
(1)x:y    ,  u:z
(2)m=n    ,  m!=0  ,m=m/10
(3)t<eps    ,    t*n/(2*n+1)    , printf(“%lf\n”,2*s)
(4)m%5==0  , printf(“%d\n”,k)
(5)cx=getchar()  ,  cx!=front  , cx
(6)double s=0  , 1.0/k    , %lf
(7)s>=0        , s<gmin  ,
5.编程题
(1).
#include <stdio.h>
int main()
{
    double x,y;
    scanf("%lf",&x);
    if(x<1)
c语言大学教程
    y=x;
    else if(x>=1.0&&x<10)
    y=2*x-11;
    else
    y=3*x-11;
    printf("%lf\n",y);
    return 0;
}
(2).
#include <stdio.h>
int main()
{
    double x,y,z,min;
    scanf("%lf%lf%lf",&x,&y,&z);
    if(x>y)
    min=y;
    else
    min=x;
    if(min>z)
    min=z;
    printf("min=%lf\n",min);
    return 0;
}
(3).
#include <stdio.h>
int main()
{
    int y,m,d,flag,s=0,w,i;
    scanf("%d%d%d",&y,&m,&d);
    flag=(y%4==0&&y%100!=0||y%400==0);
    w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;
    for(i=1;i<=m;i++)
    {
    switch(i)
    {
    case 1:s=d;break;
    case 2:s=31+d;break;
    case 3:s=59+d;break;
    case 4:s=90+d;break;
    case 5:s=120+d;break;
    case 6:s=151+d;break;
    case 7:s=181+d;break;
    case 8:s=212+d;break;
    case 9:s=243+d;break;
    case 10:s=273+d;break;
    case 11:s=304+d;break;
    case 12:s=334+d;break;
    }
    }
    if(flag==1&&m>2)
    s=s+1;
    s=(w+s)%7;
    if(s==0)
    printf("星期日\n");
    else
    printf("星期%d\n",s);
    return 0;
}
(4).
#include <stdio.h>
int main()
{
    float p,r;
    scanf("%f",&p);
    if(p<=10)
    r=p*0.1;
    else if(p>10&&p<=20)
    r=10*0.1+(p-10)*0.075;
    else if(p>20&&p<=40)
    r=10*0.1+10*0.075+(p-20)*0.05;
    else if(p>40&&p<=60)
    r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;
    else if(p>60&&p<=100)
    r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015;
    else if(p>100)
    r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01;
    printf("%f\n",r);
    return 0;
}
(5).
#include <stdio.h>
int main()
{
    char c;
    while((c=getchar())!='\n')
    {
    if(c>='a'&&c<='z')
    c=c-32;
    putchar(c);
    }
    return 0;
}
(6).
#include<stdio.h>
int main()
{
    int m,k=2;
    printf("输入一个正整数:\n");
    scanf("%d",&m);
    while(k<m)
    if(m%k==0)
    {
    printf("%4d",k);
    m=m/k;
    }
    else
    k++;
    printf("%4d\n",m);
    return 0;
}
(7).
#include<stdio.h>
int main()
{
    int a,n,s=0,p=0,i;
    scanf("%d %d",&n,&a);
    for(i=1;i<=n;i++)
    {
    p=p*10+a;
    s=s+p;
    }
    printf("%d\n",s);
    return 0;
}
(8).
#include<stdio.h>
int main()
{
    int i,j,k;
    for(i=1;i<=9;i++)
    for(j=0;j<=9;j++)
    for(k=0;k<=9;k++)
    printf("%5d",100*i+10*j+k);
    return 0;
}
(9).
#include<stdio.h>
#include<math.h>
int main()
{
    float a=-10,b=10,x,f1,f2,f;
    f1=(((2*a-4)*a+3)*a)-6;
    f2=(((2*b-4)*b+3)*b)-6;
    do
    {
    x=(a+b)/2;
    f=(((2*x-4)*x+3)*x)-6;
    if(f*f1<0)
    {
    b=x;
    f2=f;
    }
    else
    {
    a=x;
    f1=f;
    }
    }while(fabs(f)>=1e-6);
    printf("%6.2f\n",x);
    return 0;
}
(10).
#include<stdio.h>
#include<math.h>
int main()
{
    int n=2;
    double eps,t,s=0,x;
    scanf("%lf %lf",&x,&eps);
    t=x;
    s=t;
    while(fabs(t)>=eps)
    {
    t=-t*(2*n-3)*x*x/(2*n-2);
    s=s+t/(2*n);
    n++;
    }
    printf("%d,%lf\n",n,s);
    return 0;
}
(11).
#include<stdio.h>
int main()
{
    unsigned long s,t=0,p=1;
    scanf("%u",&s);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。