二级C语言操作例题(三十七)

一、程序填空题

在此程序中,函数fun的功能是:将形参s所指字符串中下标为奇数的字符取出,并按ASCII码大小递增排序,将排序后的字符存入形参p所指字符数组中,形成一个新串。

例如,形参s所指的字符为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。

#include    <stdio.h>

void fun(char  *s, char  *p)

{  int  i, j, n, x, t;

   n=0;

   for(i=0; s[i]!='\0'; i++)  n++;

   for(i=1; i<n-2; i=i+2) {

/**********found**********/

      ___1___;

/**********found**********/

      for(j=___2___+2 ; j<n; j=j+2)

        if(s[t]>s[j]) t=j;

      if(t!=i)

      {  x=s[i]; s[i]=s[t]; s[t]=x; }

   }

   for(i=1,j=0; i<n; i=i+2, j++)  p[j]=s[i];

/**********found**********/

   p[j]=___3___;

}

void main()

{  char  s[80]="baawrskjghzlicda", p[50];

   printf("\nThe original string is :  %s\n",s);

   fun(s,p);

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

}

答案:(1) t=i (2) i+2 (3) '\0'

二、程序修改题

在此程序中,函数fun的功能是:用下面公式求n的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。

例如,程序运行后,输入0.0001,则程序输出3.1414。

#include <math.h>

#include <stdio.h>

float fun ( float num )

{   int s ;

    float n, t, pi ;

    t = 1 ; pi = 0 ; n = 1 ;  s = 1 ;

/**************found**************/

    while(t >= num)

    {

        pi = pi + t ;

        n = n + 2 ;

        s = -s ;

/**************found**************/

        t = s % n ;

    }

    pi = pi * 4 ;

    return pi ;

}

void main( )

{   float n1, n2 ;

    printf("Enter a float number: ") ;

    scanf("%f", &n1) ;

    n2 = fun(n1) ;

    printf("%6.4f\n", n2) ;

}

答案:(1) while(fabs(t) >= num) (2) t = s/n ;

三、程序设计题

在此程序中,编写函数fun,其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指数组中,n中存指定的下标。

例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。

#include <stdio.h>

#include <string.h>

#define LEN 20

void fun (char a[], char b[], int n)

{

}

void main( )

{   char str1[LEN], str2[LEN] ;

    int n ;

    void NONO (  );

    printf("Enter the string:\n") ;

    gets(str1) ;

    printf("Enter the position of the string deleted:") ;

    scanf("%d", &n) ;

    fun(str1, str2, n) ;

    printf("The new string is: %s\n", str2) ;

    NONO() ;

}

void NONO ( )

{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/

  char str1[LEN], str2[LEN] ;

  int i, n ;

  FILE *rf, *wf ;

  rf = fopen("in.dat","r") ;

  wf = fopen("out.dat","w") ;

  for(i = 0 ; i < 10 ; i++) {

    fscanf(rf, "%s %d", str1, &n) ;

    fun(str1, str2, n) ;

    fprintf(wf, "%s\n", str2) ;

  }

  fclose(rf) ;

  fclose(wf) ;

}

答案:

int i,k=0;

for(i=0;a[i]!='\0';i++)

if(i!=n)     

b[k++]=a[i];

b[k]='\0';

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算二级C语言操作题是一类考试题目,旨在测试学生对C语言编程的掌握和应用能力。 在这类操作题中,通常会给出一个编程任务或问题,要求学生使用C语言编写相应的程序实现功能。具体编程任务可能涉及不同的主题,如输入输出、循环、条件判断、函数、数组等等。 考生需要根据题目要求,使用C语言的语法和语义来编写程序。他们需要理解问题背景和需求,设计和实现合适的算法,并将程序正确地转化为C代码。这可能涉及到使用C语言的各种数据类型、运算符和控制结构等。 在解答操作题时,考生应该注意以下几点: - 仔细阅读题目要求,确保理解题意。 - 设计适当的算法,将问题分解为更小的子问题。 - 使用恰当的变量和数据结构来存储和处理数据。 - 注意边界条件和特殊情况的处理。 - 编写清晰、简洁、易于理解和维护的代码。 - 在编写完程序后,进行测试并检查程序的正确性。 掌握操作题的关键是不仅要理解C语言的基础知识,还要具备良好的分析和解决问题的能力。通过解答操作题,考生能够提高自己的编程技能和思维能力,加深对C语言的理解和应用。 总而言之,计算二级C语言操作题要求学生使用C语言编写程序来解决问题,考察他们对C语言的掌握和应用能力。这是一种实践性强的考试形式,既考察了学生对C语言的语法和语义的理解,又考察了他们解决问题的能力和编程技巧。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值