C语言程序10题

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

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

【程序填空】

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

题目:有以下程序段,且变量已正确定义和赋值

    for(s=1.0,k=1;k<=n;k++)       

    s=s+1.0/(k*(k+1));

    printf("s=%f\n\n",s);

    请填空,使下面用//....//标识的程序段的功能与

    之完全相同。

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

#include <stdio.h>

main()

{

  double s;

  int k,n=10;

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

  【?】;

  k=1;

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

  while(【?】)

  {

    s=s+1.0/(k*(k+1));

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

    【?】;

  }

  printf("s=%f\n\n",s);

}

答案:

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

s=1.0

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

s=1

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

k<=n

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

k++

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

k=k+1

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

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

【程序填空】

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

功能:通过函数的递归调用计算阶乘。

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

#include  <stdio.h>

long power(int n)

{

  long f;

  if(n>1)

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

    f=【?】;

  else  

     f=1;

  return(f);

}

main()

{

  int n;

  long y;

  printf("input a inteager number:\n");

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

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

  y=power(n);

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

  printf("%d!=%ld\n",n,【?】);

}

答案:

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

power(n-1)*n

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

n*power(n-1)

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

&n

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

power(n)

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

y

第63题 (10.0分)              难度:易        第20章

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

【程序填空】

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

功能:调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。

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

#include <stdio.h>

int fun( int n)

{

  int m=0,f=1,i;

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

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

  {

    m+=i*f;

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

    【?】;

  }

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

  return 【?】;

}

main()

{

  printf("m=%d\n", fun(10));

}

答案:

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

i<=n

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

f= -f

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

m

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

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

【程序填空】

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

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

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

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

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

#include <conio.h>

#include <stdio.h>

main ()

{

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

        【?】 a,b;

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

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

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

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

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

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

}

答案:

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

int

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

scanf

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

b

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

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

【程序填空】

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

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

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

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

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

#include <stdio.h>   

#include <conio.h>

main()

{

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

        【?】 num=-1;

        int max = 0;  

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

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

        【?】(num!=0)

        {

                scanf("%d",  &num);  

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

                max = num>max ? num 【?】 max;

        }

        printf("max=%d\n", max);

}

答案:

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

int

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

while

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

:

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

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

【程序填空】

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

功能:用递归法将一个整数n转换成字符串,例如输入483,应输出

      对应的字符串"483"。n的位数不确定,可以是任意位数的整

      数。

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

#include <stdio.h>

void convert(int n)

{

  int i;

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

  if((【?】)!=0)                        

    convert(i);

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

  putchar(n%10+【?】);                

}

main()

{

  int number;

  printf("\ninput an integer:");

  scanf("%d",&number);

  printf("Output:");

  if(number<0)

  {

    putchar('-');

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

    【?】;                        

  }

  convert(number);

}

答案:

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

i=n/10

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

'0'

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

number=-number

第67题 (10.0分)            难度:易        第92章

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

【程序填空】

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

功能:从键盘输入一个大写字母赋给c1,要求改用小写字母输出。

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

#include <stdio.h>

void main()

{

char c1,c2;

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

c1= 【?】;

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

c2= 【?】;

printf("%c,%c",c1,c2);

}

答案:

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

getchar()

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

c1+32

第68题 (10.0分)            难度:中        第8章

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

【程序填空】

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

题目:下面程序的功能是用递归法求n!。

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

#include <stdio.h>

void  main()

{

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

  【?】;   

  int n;

  long y;

  printf("input an integer number:");

  scanf("%d",&n);

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

  y=【?】;

  printf("%d!=%ld\n",n,y);

}

long fac(int n)

{

  long f;

  if(n<0)

     printf("n<0,data error!");

  else if(n==0,n==1)

    f=1;

  else  

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

    f=【?】;

  return(f);

}

答案:

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

long fac(int n)

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

fac(n)

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

fac(n-1)*n

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

n *fac(n-1)

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

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

【程序填空】

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

题目:函数fun的功能是:计算如“图片1”的前n项之和。

      若x=2.5,n=15时,函数值为1.917914。    

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

#include    <stdio.h>

#include    <math.h>

double fun(double  x, int  n)

{  

        double  f, t;   

        int  i;

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

        f = 【?】;

        t = -1;

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

        {

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

                t *= (【?】)*x/i;

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

                f += 【?】;

        }

        return  f;

}

main()

{  

        double  x, y;

        x=2.5;

        y = fun(x, 15);

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

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

}

答案:

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

1.0

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

-1

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

t

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

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

【程序填空】

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

功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。

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

#include <conio.h>

#include <stdio.h>

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

int fun(【?】 )

{

  int m=0,  mc=0;

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

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

  {

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

    if (k%13 == 0 || 【?】)

    {

       m=m+k;

       mc++;

    }

    k--;

  }

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

  【?】;

}

main ( )

{

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

}

答案:

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

int k

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

mc<10

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

10>mc

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

mc<= 9

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

9>=mc

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

k%17==0

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

!(k%17)

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

k/17*17==k

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

return m

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

return (m)

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值