草庐IT

计算机等级考试二级C语言程序设计专项训练题——程序设计题(二)

I am a teacher! 2023-03-28 原文

11、请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

例如,当n=10,x=0.3时,函数值为1.349859。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include<stdio.h>
double fun(double x, int n)
{
}
int main()
{
   printf("%f\n",fun(0.3,10));
   return 0;
}
double fun(double x, int n)
{
    double sum=1,item=1;
    int i;
    for (i=1;i<=n;i++)
    {
        item=item*x/i;
        sum+=item;
    }
    return sum;
}
参考程序

12、编写函数fun,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。
注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
void  fun (int *a, int *n)
{
}
int main()
{
    int aa[1000], n, k ;
    fun (aa, &n ) ;
    for ( k = 0 ; k < n ; k++ )
      if ((k + 1) % 10 == 0) printf("\n") ;
      else printf("%5d", aa[k]) ;
    return 0;
}
void  fun (int *a, int *n)
{
    int i,k=0;
    for (i=1;i<=1000;i++)
        if ((i%7==0 || i%11==0) && i%77!=0)
           a[k++]=i;
    *n=k;
}
参考程序

13、请编写函数void  fun (int x, int pp[], int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
例如,若x中的值为30,则有4个数符合要求,它们是1、3、5、15。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
void fun (int x, int pp[], int *n)
{
}
int main()
{
   int  x,aa[1000], n, i ;
   printf("\nPlease enter an integer number : \n ") ;
   scanf ("%d", &x) ;
   fun (x, aa, &n) ;
   for (i=0 ; i<n ; i++)
     printf ("%d ", aa [i]);
   printf ("\n ") ;
   return 0;
}
void fun (int x, int pp[], int *n)
{
    int i,k=0;
    for (i=1;i<=x;i+=2)
        if (x%i==0) pp[k++]=i;
    *n=k;
}
参考程序

14、请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen函数求字符串的长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。

#include   <stdio.h>
#include   <string.h>
long  fun(char  *s )
{
}
int main()
{
    char  s[10];
    long  r;
    printf("请输入一个长度不超过9个字符的数字字符串 :  ");
    gets(s);
    r = fun( s );
    printf(" r = %ld\n" , r );
    return 0;
}
long  fun(char  *s )
{
    long num=0;
    int i;
    for (i=0;s[i]!='\0';i++)
        num=num*10+s[i]-'0';
    return num;
}
参考程序

15、假定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了尾部的*号之外,将字符中的其它的*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容应当是ABCDEFG*******。
注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
void  fun( char *a, char *p )
{
}
int main()
{
    char  s[81],*t;
    printf("Enter a string:\n");
    gets(s);
    t=s;
    while(*t) t++;
    t--;
    while(*t=='*') t--;
    fun(s ,t);
    printf("The string after deleted:\n");puts(s);
    return 0;
}
void  fun( char *a, char *p )
{
    char *q1,*q2;
    q1=a;  q2=a;
    while (q1!=p)
    {
        if (*q1!='*')
        {
            *q2=*q1;  q2++;
        }
        q1++;
    }
    while (*q1) *q2++=*q1++;
    *q2='\0';
}
参考程序

16、编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。
例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
#include <string.h>
void fun(char *tt, int pp[])
{
}
int main()
{
    char aa[1000] ;
    int  bb[26], k ;
    printf( "\nPlease enter  a char string:" ) ;
    scanf("%s", aa) ;
    fun(aa, bb ) ;
    for ( k = 0 ; k < 26 ; k++ )
        printf ("%d ", bb[k]) ;
    printf( "\n" ) ;
    return 0;
}
void fun(char *tt, int pp[])
{
    int i;
    for (i=0;i<26;i++) pp[i]=0;
    for (i=0;tt[i]!='\0';i++)
        pp[tt[i]-'a']++;
}
参考程序

17、下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:将数组左下半三角元素中的值全部置成0。例如a数组中的值为:
1  9  7
2  3  8
4  5  6
则返回主程序后a数组中的值应为:
0  9  7
0  0  8
0  0  0
注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
#include <stdlib.h>
#define N 5
void fun (int a[][N])
{
}
int main()
{
  int a[N][N],i,j;
  printf("*****The array*****\n");
  for(i=0;i<N;i++)       /*产生一个随机的5*5矩阵*/
  {
      for(j=0;j<N;j++)
      {
          a[i][j]=rand()%10;
          printf("%4d", a[i][j]);
      }
      printf("\n");
  }
  fun(a);
  printf("THE RESULT\n");
  for(i=0;i<N;i++)
  {
      for(j=0;j<N;j++)
        printf("%4d",a[i][j]);
      printf("\n");
  }
  return 0;
}
void fun (int a[][N])
{
    int i,j;
    for (i=0;i<N;i++)
        for (j=0;j<=i;j++)
           a[i][j]=0;
}
参考程序

18、请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后,数组中的内容应该是:
2 3 4 5 6 7 8 9 10。
注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include <stdio.h>
#define N 80
int fun(int a[], int n)
{
}
int main()
{
  int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10}, i, n=20;
  printf("The original data :\n");
  for(i=0; i<n; i++)
     printf("%3d",a[i]);
  n=fun(a,n);
  printf("\nThe data after deleted :\n");
  for(i=0; i<n; i++)
     printf("%3d",a[i]);
  printf("\n");
  return 0;
}
int fun(int a[], int n)
{
    int i,j;
    for (i=1,j=0;i<n;i++)
        if (a[j]!=a[i]) a[++j]=a[i];
    return j+1;
}
参考程序

19、请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
#define M 4
int fun (int a[][M])
{
}
int main()
{
    int arr[2][M]={5,8,3,45,76,-4,12,82} ;
    printf("max =%d\n", fun(arr)) ;
    return 0;
}
int fun (int a[][M])
{
    int max=a[0][0];
    int i,j;
    for (i=0;i<2;i++)
        for (j=0;j<M;j++)
           if (max<a[i][j]) max=a[i][j];
    return max;
}
参考程序

20、请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入"abc4Efg",则应输出"aBc4EFg"。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include<stdio.h>
#include<string.h>
void fun(char *ss)
{
}
int main()
{
  char tt[81];
  printf("\nPlease enter an string within 80 characters:\n");
  gets(tt);
  printf("\nAfter changing, the string\n  %s",tt);
  fun(tt);
  printf("\nbecomes\n %s\n",tt);
  return 0;
}
void fun(char *ss)
{
    int i;
    for (i=1;i<strlen(ss);i+=2)
        if (ss[i]>='a' && ss[i]<='z')
           ss[i]=ss[i]-32;
}
参考程序
mdash语言程序spanstylecolorC语言

有关计算机等级考试二级C语言程序设计专项训练题——程序设计题(二)的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  4. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  5. ruby-on-rails - Rails 应用程序之间的通信 - 2

    我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

  6. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  7. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  8. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  9. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  10. ruby-on-rails - 如何在我的 Rails 应用程序 View 中打印 ruby​​ 变量的内容? - 2

    我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby​​中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R

随机推荐