C语言程序题10题

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

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

【程序填空】

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

题目:下列给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各

     位上数字之和为x(x为正整数)的整数,并输出;符合条件的整数个数作为函数值返回。

例如:当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、

      140、203、212、221、230、302、311、320、401、410、500,共有15个。

      当x值为27时,各位数字之和为27的整数是:999,只有1个。

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

#include  <stdio.h>

int fun(int  x)

{

        int  n, s1, s2, s3, t;

        n=0;

        t=100;

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

        while(t<=【?】)

        {

                s1=t%10;

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

                s2=(【?】)%10;

                s3=t/100;

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

                if(s1+s2+s3==【?】)

                {

                        printf("%d ",t);

                        n++;

                }

                t++;

        }

        return  n;

}

main()

{

        int x=-1;

        while(x<0)

        {

                printf("Please input(x>0): ");

                scanf("%d",&x);

        }

        printf("\nThe result is: %d\n",fun(x));

}

答案:

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

999

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

t/10

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

x

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

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

【程序填空】

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

  题目:计算100-1000之间有多少个数,其各位数字之和是5

  

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

#include<stdio.h>

void main()

{

        int i,s,k,count=0;

        for(i=100;i<1000;i++)

        {

                s=0;

                k=i;

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

                while(【?】)

                {

                        s=s+k%10;

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

                        k=【?】;

                }

                if(s!=5)

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

                        【?】;

                else

                {

                        count++;

                        printf("%d %d\n",count,i);

                }

        }

        printf("个数为:%d\n",count);

}

答案:

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

k>0

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

k

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

k!=0

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

k/10

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

continue

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

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

【程序填空】

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

题目:函数fun的功能是:计算如“图片1”直到“图片2” 。

      若x=2.5,函数值为1.917915。

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

#include   <stdio.h>

#include   <math.h>

double fun(double  x)

{  

        double  f, t;      int  n;

        f = 1.0 + x;

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

        t=【?】;

        n = 1;

        do

        {

                n++;

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

                t*=(-1.0)*x/【?】;

                f += t;

        }

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

        while(【?】 >=1e-6);

        return  f;

}

main()

{   

        double x, y;

        x=2.5;

        y = fun(x);

        printf("\nThe result is :\n");

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

}

答案:

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

x

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

n

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

fabs(t)

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

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

【程序填空】

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

给定程序中,程序的功能是:输出100以内能被3整除且个位数为6

的所有正整数。请填空。

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

#include "stdio.h"

void main()

{

  int i,j;

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

  for(i=0;【?】; i++)

  {

    j=i*10+6;

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

    if(【?】)

    continue;

    printf("%d ",j);

  }

}

答案:

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

i<10

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

i%3!=0

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

j%3!=0

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

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

【程序填空】

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

功能:输入三个整数x,y,z,请把这三个数由小到大输出。

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

#include <stdio.h>

main()

{

  int x,y,z,t;

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

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

  if (x>y){【?】}

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

  if(x>z){【?】}

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

  if(y>z){【?】}

  printf("small to big: %d %d %d\n",x,y,z);

}

答案:

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

t=x;x=y;y=t;

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

t=x;x=z;z=t;

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

t=y;y=z;z=t;

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

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

【程序填空】

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

功能:以下程序的功能如(图1)。

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

#include <stdio.h>

#include <math.h>

main()

{

  int f;

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

 【?】;

  double t,pi;

  t=1;pi=t;f=1;n=1.0;

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

  while(【?】 )

  {

    n=n+2;

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

    【?】;

    t=f/n;

    pi=pi+t;

  }

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

  【?】;

   printf("pi=%10.6f\n",pi);

}

答案:

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

float n

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

double n

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

fabs(t)>=1e-6

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

fabs(t)>=0.000001

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

1e-6<=fabs(t)

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

0.000001<=fabs(t)

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

f=-f

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

f=-1*f

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

f=f*(-1)

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

f=f*-1

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

f=(-1)*f

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

pi=pi*4

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

pi*=4

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

pi=4*pi

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

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

【程序填空】

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

题目:以下程序输入n和n个大于1的正整数,输出其中素数。

      如输入:5  19  93  11  37  15    则输出:19  11  37

      例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数

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

#include <stdio.h>

void main()

{

        int  n, a, i, j, ct;

        scanf( "%d", &n );

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

        for ( i=0;【?】; i++ )

        {

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

                 【?】;

                scanf( "%d", &a );

                for( j=2; j<a; j++ )

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

                        if (【?】)

                                ct++;

                if ( ct==0 )

                        printf( "%d  ", a );

        }

        printf( "\n" );

}

答案:

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

i<n

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

ct=0

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

a%j==0

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

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

【程序填空】

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

题目:从键盘输入一组整数,使用条件表达式找出最大的整数。

      当输入的整数为 0 时结束。

      例如,输入 1  2  3  5  4  0 时,输出"max=5"。

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

#include <stdio.h>   

#include <conio.h>

main()

{

        int num=-1;

        int max = 0;  

        printf("请输入一组整数: \n");

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

        while(【?】)

        {

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

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

                max = num>max ? num : max;

        }

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

        【?】("max=%d\n", max);

}

答案:

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

num!=0

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

0!=num

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

&num

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

printf

第48题 (10.0分)               难度:中        第6章

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

【程序填空】

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

功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作

      为终止标记。

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

#include <stdio.h>

main()

{

  int x,i=0,j=0;

  float s1=0,s2=0,av1,av2;

  scanf("%d",&x);

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

  while(【?】)

  {

     if(x%2==0)

     {

        s1=s1+x;

        i++;

     }

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

     【?】

     {

        s2=s2+x;

        j++;

     }

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

     【?】;

   }

   if(i!=0)

      av1=s1/i;

   else

       av1=0;

   if(j!=0)

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

     【?】 ;

   else

     av2=0;

   printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);

}

答案:

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

x!=0

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

x

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

else

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

else if(x%2==1)

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

else if(x%2!=0)

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

if(x%2)

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

scanf("%d",&x)

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

av2=s2/j

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

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

【程序填空】

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

功能:输出9*9口诀。

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

#include  <stdio.h>

main()

{

  int i,j,result;

  printf("\n");

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

  for (i=1;【?】;i++)

  {

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

    for(j=1;j<10;【?】)

    {

      result=i*j;

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

      printf("%d*%d=%-3d",i,j,【?】);

    }

  printf("\n");

  }

}

答案:

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

i<10

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

10>i

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

i<=9

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

9>=i

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

j++

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

++j

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

j=j+1

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

j=1+j

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

result

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

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

【程序填空】

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

功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假

      如人口增长率为5%。编写一个程序求在公元多少年总人口

      翻了一番。

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

#include<stdio.h>

void main()

{

  double p1=10.3,p2,r=0.05;

  int n=1;

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

  p2=p1*【?】;  

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

  while(p2<=【?】)

  {

    n++;

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

    p2=p2*【?】;  

  }

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

  n=【?】;  

  printf("%d年人口总数翻了一番,即为%g亿人\n",n,p2);

}

答案:

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

(1+r)

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

(r+1)

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

2*p1

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

p1*2

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

(1+r)

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

(r+1)

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

n+1982

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

1982+n

  • 26
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值