C语言程序题目10题

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

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

【程序填空】

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

功能:一个40磅重的板碎成4块,每块正好是一个整数磅,且用这

      4块当砝码能称出1~40磅的整数重量的物体。编程求这4块

      的各自重量。

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

#include <stdio.h>

#include <stdlib.h>

main()

{

  int i,j,k,l,p,t1,t2,t3,t4;

  for(i=1;i<38;i++)

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

    for(【?】;j<38-i;j++)

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

      for(k=j;k<【?】;k++)

      {

        l=40-i-j-k;

        for(p=1;p<40;p++)

        {

          for(t1=-1;t1<2;t1++)

            for(t2=-1;t2<2;t2++)

              for(t3=-1;t3<2;t3++)

                for(t4=-1;t4<2;t4++)

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

                  if(【?】==p) goto next;

          break;

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

          next:if(p==【?】)

               {

                  printf("%d,%d,%d,%d\n",i,j,k,l);

                  exit(0);

               }

      }

  }

  printf("error.");

}

答案:

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

j=i

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

39-i-j

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

39 -i -j

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

i*t1+j*t2+k*t3+l*t4

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

i * t1 + j * t2 + k * t3 + l * t4

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

39

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

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

【程序填空】

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

功能:利用全局变量计算长方体的体积及三个面的面积。

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

#include  <stdio.h>

int s1,s2,s3;

int vs(int a,int b,int c)

{

  int v;

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

  v=【?】;

  s1=a*b;

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

  s2=【?】;

  s3=a*c;

  return  v;

}

main()

{

  int v,l,w,h;

  printf("\ninput length,width and height: ");

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

  scanf("%d%d%d",【?】,&w,&h);

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

  v=【?】;

  printf("v=%d    s1=%d    s2=%d    s3=%d\n",v,s1,s2,s3);

}

答案:

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

a*b*c

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

a*c*b

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

b*a*c

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

b*c*a

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

c*a*b

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

c*b*a

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

b*c

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

c*b

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

&l

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

vs(l,w,h)

第3题 (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***********/

        【?】(num!=0)

        {

                scanf("%d",&num);  

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

                max = 【?】 ? num : max;

        }

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

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

}

答案:

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

while

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

num>max

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

num>=max

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

max<num

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

max<=num

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

printf

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

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

【程序填空】

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

功能:从读入的整数数据中,统计大于零的整数个数和小于零的

      整数个数。用输入零来结束输入,程序中用变量i统计大于

      零的整数个数,用变量j统计小于零的整数个数。

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

#include <stdio.h>

main()

{

  int n,i,j;

  printf("Enter iNT number,with 0 to end\n");

  i=j=0;

  scanf("%d",&n);

  while(n!=0)

 {

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

   if(n>0)i=【?】;

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

   if(n<0)j=【?】;

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

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

 }

  printf("i=%4d,j=%4d\n",i,j);

}

答案:

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

i+1

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

1+i

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

j+1

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

1+j

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

&n

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

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

【程序填空】

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

功能:计算并输出high以内最大的10个素数之和,high由主函数传

      给fun函数,若high的值为100,则函数的值为732。

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

#include <conio.h>

#include <stdio.h>

#include <math.h>

int fun( int high )

{

  int sum=0,n=0,j,yes;

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

  while((high>=2) && (【?】))

  {  

    yes=1;

    for (j=2;j<=high/2;j++ )

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

      if (【?】)

      {

        yes=0;

        break;

      }

      if(yes)

      {

        sum+=high;

        n++;

      }

     high--;

  }

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

  【?】;

}

main( )

{  

   printf("%d\n", fun(100));

}

答案:

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

n<10

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

10>n

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

n<=9

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

9>=n

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

high%j==0

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

!(high%j)

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

return sum

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

return(sum)

第6题 (10.0分)               难度:易        第6章

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

【程序填空】

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

功能:对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素

      数)因子的形式。

例如:当N=150时,可分解成1×2×3×5×5;

      当N=-150时,可分解为-1×2×3×5×5。

      下边程序能实现这种分解过程。当N=150,输出以下分解结

      果:N=  1*  2*   3*   5*   5

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

#include <stdio.h>

#include <stdlib.h>

main()

{

  int n,i,r;

  scanf("%d",&n);

  if (n==0)

  {

    printf ("data error \n");

    exit(0);

  }

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

  else if (【?】)

    printf("n=1");

  else

  {

    printf("n=-1");

    n=-n;

  }

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

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

  {  

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

    【?】  ;                  

    while(r==0)

    {

      printf("*%d",i);

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

      【?】 ;                  

      r=n%i;

    }

  }

  printf("\n");

}

答案:

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

n>0

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

0<n

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

i=2

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

r=n%i

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

n=n/i

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

n/=i

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

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

【程序填空】

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

功能:如果整数A的全部因子(包括1,不包括A本身)之和等

      于B;且整数B的全部因子 ( 包括1,不包括B本身 )

      之和等于A,则将整数A和B称为亲密数。求 3000 以内

      的全部亲密数。

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

#include <stdio.h>

#include <stdio.h>

main( )

{

  int a, i, b, n ;

  printf("Friendly-numbers pair samller than 3000:\n") ;

  for(a=1 ; a<3000 ; a++)

  {

    for(b=0,i=1 ; i<=a/2 ; i++ )

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

    if(!(a%i)) 【?】 ;                

    for(n=0,i=1 ; i<=b/2 ; i++)

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

      if(!(b%i)) 【?】 ;                

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

    if(【?】 && a<b)                        

      printf("%4d~%4d\n",a,b) ;

  }

}

答案:

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

b+=i

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

b=b+i

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

n+=i

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

n=n+i

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

n == a

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

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

【程序填空】

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

功能:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3

      元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡

      各多少只?

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

#include <stdio.h>

main()

{

  int cocks,hens,chicks;

  cocks=0;

  while(cocks<=19)

  {

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

   【?】=0;

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

    while(hens<=【?】)

    {

      chicks=100-cocks-hens;

      if(5*cocks+3*hens+chicks/3==100)

         printf("%d,%d,%d\n",cocks,hens,chicks);

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

     【?】;

    }

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

    【?】;

  }

}

答案:

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

hens

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

33

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

hens++

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

++hens

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

hens=hens+1

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

hens=1+hens

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

cocks++

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

++cocks

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

cocks=cocks+1

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

cocks=1+cocks

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

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

【程序填空】

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

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

      例如:输入"12,45,43",

            输出 "三个数是:12,45,43.最大数是:45."。

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

#include <stdio.h>

#include <conio.h>

main()

{

        int a, b, c, max;

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

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

        【?】("%d,%d,%d",&a, &b, &c);

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

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

        if (【?】) max=a;

        else max=b;

        if (max<c) max=c;

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

        printf("最大数是:%d.", 【?】);

}

答案:

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

scanf

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

a>b

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

a>=b

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

b<a

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

b<=a

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

max

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

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

【程序填空】

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

功能:输出1到100之间每位数的乘积大于每位数的和的数。

例如:数字26,数位上数字的乘积12大于数字之和8。

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

#include <stdio.h>

main()

{

  int n,k=1,s=0,m;

  for(n=1;n<=100;n++)

  {

    k=1;

    s=0;

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

   【?】 ;                                

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

    while( 【?】 )                        

    {

      k*=m%10;

      s+=m%10;

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

      【?】;                                

    }  

    if(k>s)

      printf("%d ",n);

  }

}

答案:

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

m=n

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

m>0

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

0<m

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

m=m/10

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

m/=10

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值