C语言程序题10题

第21题 (10.0分)               难度:易        第1章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:求出 -10 到 30 之内能被 7 或 11 整除,但不能同时被

      7 或 11 整除的所有整数。

      例如:输出"-7,7,11,14,21,22,28,"。

-------------------------------------------------------*/

#include <conio.h>

#include <stdio.h>

main()

{

        int i;

/***********SPACE***********/

        for(【?】;i<=30; i++)

        {

/***********SPACE***********/

                if( (i%7==0 【?】 i%11==0) &&i%77!=0)

                {

/***********SPACE***********/

                        【?】("%d,",i);

                }

        }

}

答案:

=======(答案1)=======

i=-10

=======(答案2)=======

||

=======(答案3)=======

printf

第22题 (10.0分)               难度:易        第93章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序求100~200之内的素数。

-------------------------------------------------------*/

#include <stdio.h>

#include "math.h"

void sushu(int m)

{

        int k;

        int i;

/***********SPACE***********/

        【?】

        for(i=2;i<=k;i++)

/***********SPACE***********/

                【?】

                        if(i>=k+1) printf("%4d",m);

}

void main()

{

        int m;

        for ( m=101;m<=200;m++)

/***********SPACE***********/

                【?】;

}

答案:

=======(答案1)=======

k=(int)sqrt(m);

=======(答案2)=======

if(m%i==0) break ;

=========或=========

if(!(m%i)) break ;

=======(答案3)=======

sushu(m)

第23题 (10.0分)                难度:易        第1章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:请输入一个大于100的正整数a,将a的百位、十位和个位依

      次放在b的个位、十位和百位上。

      例如:输入"321",输出"结果是:123"。

-------------------------------------------------------*/

#include <conio.h>

#include <stdio.h>

main ()

{

/***********SPACE***********/

        【?】 a,b;

        printf ("请输入一个大于100的正整数:");

/***********SPACE***********/

        scanf ("%d", 【?】);

        b=(a%10)*100 + ((a/10)%10)*10 + (a/100)%10;

/***********SPACE***********/

        printf ("结果是: %d\n", 【?】);

}

答案:

=======(答案1)=======

int

=======(答案2)=======

&a

=======(答案3)=======

b

第24题 (10.0分)                难度:易        第2章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。

-------------------------------------------------------*/

#include <stdio.h>

/***********SPACE***********/

    【?】      

    main()

        {  int x;

double y,z;

/***********SPACE***********/

           scanf("【?】",&x,&y);

           z=2*x*sqrt(y);

/***********SPACE***********/

           printf("z=【?】",z);

        }

答案:

=======(答案1)=======

#include<math.h>

=========或=========

#include "math.h"

=======(答案2)=======

%d%lf

=========或=========

%d,%lf

=======(答案3)=======

%.2f

=========或=========

%.2lf

第25题 (10.0分)             难度:易        第2章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:要求输出结果为3。

-------------------------------------------------------*/

#include <stdio.h>

/***********SPACE***********/

int akm(【?】,int n)

{

  if(m==0)

    /***********SPACE***********/

   【?】 n+1;

  else if(m!=0&&n==0)

    akm(m-1,1);

  else if(m!=0&&n!=0)

    akm(m-1,akm(m,n-1));

}

main()

{

  /***********SPACE***********/

  int m=1,n=1,【?】;

  s=akm(m,n);

  printf("%d",s);

}

答案:

=======(答案1)=======

int m

=======(答案2)=======

return

=======(答案3)=======

s

第26题 (10.0分)               难度:易        第1章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:从键盘键盘输入3个整数,然后找出最小的数并输出。

      例如:输入"10,41,31",

            输出 "三个数是:10,41,31.最小数是:10."。

-------------------------------------------------------*/

#include <stdio.h>

#include <conio.h>

main()

{

/***********SPACE***********/

        【?】 a, b, c, min;

        printf("请输入三个整数:\n");

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

        printf("三个数是:%d,%d,%d.", a, b, c);

/***********SPACE***********/

        if (a > b) min=b; else 【?】;

/***********SPACE***********/

        if (【?】) min=c;

        printf("最小数是:%d.", min);

}

答案:

=======(答案1)=======

int

=======(答案2)=======

min=a

=======(答案3)=======

min > c

=========或=========

min>=c

=========或=========

mc<min

=========或=========

c<=min

第27题 (10.0分)               难度:易        第2章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)

      相差的天数。

-------------------------------------------------------*/

#include  <stdio.h>

#include <stdlib.h>

int f(int y)

{

  return(y%4==0&&y%100!=0||y%400==0);

}

int mday(int y,int m)

{

  return(31-((m==4)+(m==6)+(m==9)+(m==11))-(3-f(y))*(m==2));

}

int yday(int y,int m,int d)

{

  return(d+31*((m>1)+(m>3)+(m>5)+(m>7)+(m>8)+(m>10))+30*((m>4)+(m>6)+(m>9)+(m>11))+(28+f(y))*(m>2));

}

int yend(int y,int m,int d)

{

  return(365+f(y)-yday(y,m,d));

}

main()

{

  int y1,m1,d1,y2,m2,d2,n,i;

  printf("y1,m1,d1=");

  scanf("%d,%d,%d",&y1,&m1,&d1);

  /***********SPACE***********/

  if(m1<1||m1>12||d1<1||d1>【?】) exit(0);

  printf("y2,m2,d2=");scanf("%d,%d,%d",&y2,&m2,&d2);

  /***********SPACE***********/

  if(m2<1||m2>12||d2<1||d2>【?】) exit(0);

  if(y1>y2||y1==y2&&m1>m2||y1==y2&&m1==m2&&d1>d2)

  {

    n=y1;

    y1=y2;

    y2=n;

    n=m1;

    m1=m2;

    m2=n;

    n=d1;

    d1=d2;

    d2=n;

  }

  else

  {

    /***********SPACE***********/

    n=yend(y1,m1,d1)+【?】;

    /***********SPACE***********/

    for(i=【?】;i<y2;i++) n+=365+f(i);

  }

  printf("%d.%d.%d--->%d.%d.%d:n=%d\n",y1,m1,d1,y2,m2,d2,n);

}

答案:

=======(答案1)=======

mday(y1,m1)

=======(答案2)=======

mday(y2,m2)

=======(答案3)=======

yday(y2,m2,d2)

=======(答案4)=======

y1+1

=========或=========

1+y1

第28题 (10.0分)              难度:易        第2章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数

      放在t中。高位仍在高位,低位仍在低位。

-------------------------------------------------------*/

#include <conio.h>

#include <stdio.h>

void fun (long s, long *t)

{

  int d;

  long sl=1;

  /***********SPACE***********/

 【?】 = 0;

  while ( s > 0)

  {

    /***********SPACE***********/

    d = 【?】;

    if(d%2)

    {   

      /***********SPACE***********/

      *t = 【?】 + *t;

      /***********SPACE***********/

      sl 【?】 10;

    }

    s /= 10;

  }

}

main()

{

  long s, t;

  printf("\nPlease enter s:"); scanf("%ld", &s);

  fun(s, &t);

  printf("The result is: %ld\n", t);

}

答案:

=======(答案1)=======

*t

=======(答案2)=======

s%10

=======(答案3)=======

d * sl

=========或=========

sl * d

=======(答案4)=======

*=

=========或=========

=s*

第29题 (10.0分)              难度:中        第2章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:用circle画圆形。

-------------------------------------------------------*/

#include <stdio.h>

#include "graphics.h"

main()

{

  int driver,mode,i;

  float j=1,k=1;

  driver=VGA;mode=VGAHi;

  /***********SPACE***********/

  initgraph(【?】,&mode,"");

  setbkcolor(YELLOW);

  /***********SPACE***********/

  for(i=0;i<=25;【?】)

  {

    setcolor(8);

    circle(310,250,k);

    /***********SPACE***********/

    k=【?】;

    j=j+0.3;

  }

}

答案:

=======(答案1)=======

&driver

=======(答案2)=======

i++

=========或=========

++i

=========或=========

i=i+1

=======(答案3)=======

k+j

=========或=========

j+k

第30题 (10.0分)              难度:中        第1章

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

请补充main函数,该函数的功能是求方程ax*x+bx+c=0的两个实数

根。方程的系数a、b、c从键盘输入,如果判别式(disc=b*b-4ac)

小于0,则要求重新输入a、b、c的值。

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

      x2=-1.00。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()

的横线上填入所编写的若干表达式或语句。

试题程序:

-------------------------------------------------------*/

#include <math.h>

#include <stdio.h>

#include <stdlib.h>

void main()

{

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

    system("CLS");

    do

    {

        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);

    }

/***********SPACE***********/

        while(【?】);

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

/***********SPACE***********/

        x1=【?】;

/***********SPACE***********/

        x2=【?】;

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

}

答案:

=======(答案1)=======

disc<0

=========或=========

disc<=0

=======(答案2)=======

(-b+sqrt(disc))/(2*a)

=========或=========

(-b-sqrt(disc))/(2*a)

=======(答案3)=======

(-b-sqrt(disc))/(2*a)

=========或=========

(-b+sqrt(disc))/(2*a)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值