C语言程序设计题(带答案)

目录

一、程序设计   

第1题          题号:445        难度:易    

第2题          题号:372        难度:易    

第3题         题号:347        难度:易  

第4题          题号:307        难度:易   

第5题          题号:430        难度:易   

第6题          题号:414        难度:易    

第7题          题号:506        难度:易       

第8题          题号:369        难度:易  

第9题          题号:492        难度:易        

第10题        题号:520        难度:易        



一、程序设计   

该题目来自百度以及个人编写

只可以在Program和End中编写

第1题         题号:445        难度:易    

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

【程序设计】

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

 

功能:根据整型形参m,计算如下公式的值:

      y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

例如:若m=9,则应输出:1.168229

 

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

 

#include <stdio.h>

double fun(int m)   

{

  /**********Program**********/

  

  

  

  

  

  /**********  End  **********/

}

main()   

{

  int n;   

  printf("Enter n: ");   

  scanf("%d", &n);   

  printf("\nThe result is %1f\n", fun(n));

 

}   

 

答案:----------------------

     double y=0;

     int i;

     for(i=0; i<=m; i++)

     {y+=1.0/(i+5);  }

     return(y);

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

 

第2题       题号:372        难度:易    

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

【程序设计】

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

 

题目:请编写函数fun,其功能是计算并输出如下多项式的值。

      Sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!

 

例如:若主函数从键盘给n输入15,则输出为S=2.718282。

 

注意:n的值要求大于1但不大于100。

      请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入

      你编写的若干语句。

 

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

#include <stdio.h>

double fun(int n)

{

        /**********Program**********/

 

 

        /**********  End  **********/

}

void main()

{

        int n;

        double s;

        printf("\nInput n: ");

        scanf("%d",&n);

        s=fun(n);

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

}

 

 

答案: double t,sn=1.0;

int i,j;

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

{

t=1.0;

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

t*=j;

sn+=1.0/t;

}

return sn;

 

 

第3题         题号:347        难度:易  

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

【程序设计】

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

 

题目:请编写函数fun,其功能是将形参s所指字符串放入形参a所指的字符数组中,使a

      中存放同样的字符串。说明:不得使用系统提供的字符串函数。

 

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入

      你所编写的若干语句。

 

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

#include  <stdio.h>

 

#define    N    20

 

void  fun( char  a[] , char  s[])

{

        /**********Program**********/

 

 

        /**********  End  **********/

}

 

void main()

{  

        char  s1[N],  s2[]="abcdefghijk";

        fun( s1,s2);

        printf("%s\n", s1);

}

 

 

 

 

答案: while(*s!='\0')

{

*a=*s;

a++;

s++;

}

*a='\0';

 

第4题         题号:307        难度:易   

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

【程序设计】

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

 

题目:函数fun的功能是:将s所指字符串中下标为偶数字符的删除,剩余字符形成的新串

      放在t数组中。

 

例如:当s所指字符串中的内容为"ABCDEFGHIJK"时,在t所指数组中的内容应是:"BDFHJ"。

 

注意:请勿改动函数main和其它函数中的任何内容。仅在函数fun的花括号中填入

      你编写的若干语句。

 

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

#include <stdio.h>

#include <string.h>

void fun(char s[], char t[])

{

        /**********Program**********/

 

 

        /**********  End  **********/

}

 

void main()

{

        char s[100], t[100];

  

        printf("\nPlease enter string S:");

        scanf("%s", s);

        fun(s, t);

        printf("\nThe result is: %s\n", t);

 

}

 

 

 

答案: int i,j=0,k=strlen(s);    

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

t[j++]=s[i];

t[j]='\0';

 

第5题        题号:430        难度:易   

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

【程序设计】

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

 

功能:删除所有值为y的元素。组数元素中的值和y的值由

      主函数通过键盘输入。

 

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

 

#include <stdio.h>

#include<conio.h>

#include<stdio.h>

#define M 20

  

void fun(int bb[],int *n,int y)

{

  /**********Program**********/

  

  

  

  

  

  

  /**********  End  **********/

}

main()

{

  int aa[M],n,y,k;

  printf("\nPlease enter n:");scanf("%d",&n);

  printf("\nEnter %d positive number:\n",n);

  for(k=0;k<n;k++) scanf("%d",&aa[k]);

  printf("The original data is:\n");

  for(k=0;k<n;k++) printf("%5d",aa[k]);

  printf("\nEnter a number to deletede:");scanf("%d",&y);

  fun(aa,&n,y);

  printf("The data after deleted %d:\n",y);

  for(k=0;k<n;k++) printf("%4d",aa[k]);

  printf("\n");

 

}

 

 

 

答案:----------------------

 int i,j;

 for(i=0;i<*n;)

   {

    if(bb[i]==y)

       {for(j=i;j<*n;j++)

           bb[j]=bb[j+1];

         *n=*n-1;

          }

          else

           i++;

          }

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

 

第6题        题号:414        难度:易    

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

【程序设计】

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

 

功能:在键盘上输入一个3行3列矩阵的各个元素的值(值

      为整数),然后输出主对角线元素的平方和,并在

      fun()函数中输出。

 

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

 

#include <stdio.h>

 

  

main()

{

  int i,j,s,a[3][3];;

  for(i=0;i<3;i++)

  {

    for(j=0;j<3;j++)

      scanf("%d",&a[i][j]);

  }

  s=fun(a);

  printf("Sum=%d\n",s);

}

 

int fun(int a[3][3])

{

  /**********Program**********/

  

  

  

  

  

  

  /**********  End  **********/

  

}

 

 

 

答案:----------------------

int sum;

int i;

sum=0;

 

for(i=0;i<3;i++)

 sum=sum+a[i][i]*a[i][i];

 return sum;

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

 

第7题         题号:506        难度:易       

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

【程序设计】

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

 

题目:编一个程序,输入x的值,按如图所示公式计算并输出y值:

 

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

#include <stdio.h>

 

 

float fun(float x)

{

 

/**********Program**********/

 

 

 

/**********  End  **********/

 

        return y;

}

 

 

void main( )

{  

         float x ;

        printf("输入数 x:  \n");  

        scanf("%f", &x);

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

        wwjt();

}

 

 

 

 

 

 

答案:    float y ;

 

if (x<=1)  y=x;

else if (x<10)  

y=2*x-1;

else  

y=3*x -11;

 

第8题     题号:369        难度:易  

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

【程序设计】

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

 

题目:编写函数fun,其功能是:从字符串中删除指定的字符。同字母的大、小写按不

      同字符处理。

 

例如:若程序执行时输入字符串为"turbo c and borland c++"从键盘上输入字符n,

      则输出为"turbo c ad borlad c++"

      如果输入的字符在字符串中不存在,则字符串照原样输出。

 

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入

      你编写的若干语句。

 

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

#include <string.h>

#include <stdio.h>

 

 

void fun( char s[],int c)

{

        /**********Program**********/

 

 

        /**********  End  **********/

}

void main()

{

        static char str[]="turbo c and borland c++";

        char ch;

        printf("原始字符串:%s\n ",str);

        printf("输入一个字符:\n");

        scanf("%c",&ch);

        fun(str,ch);

        printf("str[]=%s\n",str);

 

 

}

 

 

 

 

答案: int i=0;

char *p;

p=s;

while(*p)                                                                         /*判断是否为结束符*/

{

if(*p!=c)     /*判断字符串中字符是否与指定字符相同*/

{

s[i]=*p;      /*不同将重新组合字符串,*/

i++;

}

p++;                                                                    /*相同则处理下一个字符。*/

}

s[i]='\0';

 

第9题         题号:492        难度:易        

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

【程序设计】

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

 

功能:编写函数fun计算下列分段函数的值:

             x^2+x+6      x<0且x≠-3

       f(x)= x^2-5x+6     0≤x<10且x≠2及x≠3

             x^2-x-1      其它

 

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

 

#include <stdio.h>

    

float fun(float x)

{

  /**********Program**********/

  

  

  

  

  

  

  /**********  End  **********/

}

 

main()

{

  float x,f;

  printf("input x=");

  scanf("%f",&x);

  f=fun(x);

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

  wwjt();

}

 

 

 

答案:----------------------

 float y;

  if (x<0 && x!=-3.0)

     y=x*x+x+6;

  else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0)

     y=x*x-5*x+6;

  else y=x*x-x-1;

return y;

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

 

第10题        题号:520        难度:易        

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

【程序设计】

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

 

题目:求4×4整型数组的主对角线元素的和,请编fun函数。

 

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

#include <stdio.h>

 

 

int fun(int a[4][4])

{

 

    /**********Program**********/

        

 

    /**********  End  **********/

}

 

void main()

{  

    int a[4][4], s, i, j;

   

    for(i=0; i < 4; i ++)

        for(j = 0; j < 4;j ++)

    scanf("%d", &a[i][j]);

    s=fun(a);

    printf("%d",s);

   

}

 

答案:    int i, sum = 0;

    for(i = 0; i < 4; i ++)

        sum = sum + a[i][i];

    return sum;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值