c语言上机编程题.docx

上传人:b****6 文档编号:8825338 上传时间:2023-02-02 格式:DOCX 页数:10 大小:17.68KB
下载 相关 举报
c语言上机编程题.docx_第1页
第1页 / 共10页
c语言上机编程题.docx_第2页
第2页 / 共10页
c语言上机编程题.docx_第3页
第3页 / 共10页
c语言上机编程题.docx_第4页
第4页 / 共10页
c语言上机编程题.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

c语言上机编程题.docx

《c语言上机编程题.docx》由会员分享,可在线阅读,更多相关《c语言上机编程题.docx(10页珍藏版)》请在冰豆网上搜索。

c语言上机编程题.docx

c语言上机编程题

1、请编写函数fun,其功能是:

统计s所指字符串中的数字字符个数,并作为函数值返回。

     例如,s所指字符串中的内容是:

2def35adh25 3kjsdf7/kj8655x,

           函数fun返回值为:

11

     注意:

部分源程序在文件PROG1.C文件中。

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

  #include 

  void

  intfun(char *s)

  {intcount=0;

   while(*s!

='\0')

   {

    if(*s>=48&&*s<=57)

     count++;

    s++;

   }

   returncount;

}

  main()

  { char*s="2def35adh25 3kjsdf7/kj8655x";

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

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

  }

2、编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。

(注意:

主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。

     注意:

部分源程序在文件PROG1.C中。

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

  #include

  #include

  voidfun(char(*a)[81],intnum,char**max)

  {

   /*以下代码仅供参考*/

   inti,k=0,len,maxlen; /*k为a数组中最长串所在元素的下标,初始为0,maxlen为其串长*/

   maxlen=strlen(a[k]);

   for(i=1;i

   {

    /*以下完成查找最长串*/

   }

   *max=a[k];

  }

  main()

  {

      charss[10][81],*ps;void

      intn,i=0;

      printf("输入若干个字符串:

");

      gets(ss[i]);

      puts(ss[i]);

      while(!

strcmp(ss[i],"****")==0)

      {

          i++;

          gets(ss[i]);

          puts(ss[i]);

      }

      n=i;

      fun(ss,n,&ps);

      printf("\nmax=%s\n",ps);

  2、len=strlen(a[i]);

     if(maxlen

     {k=i;maxlen=len;}

}

3、请编写函数fun,它的功能是:

求出ss所指字符串中指定字符的个数,并返回此值。

     例如,若输入字符串:

123412132,输入字符为:

1,则输出:

3。

     注意:

部分源程序在文件PROG1.C中。

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

  #include

  #include

  #define M81

  intfun(char*ss,charc)

  {3、intcount=0;

   while(*ss!

='\0')

   {

    if(*ss==c)

     count++;

    ss++;

   }

   returncount;

  }

  main()

  { char a[M],ch;

    void

    printf("\nPleaseenterastring:

");gets(a);

    printf("\nPleaseenterachar:

");ch=getchar();

    printf("\nThenumberofthecharis:

%d\n",fun(a,ch));

  }

4、规定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

将字符串中的前导*号全部删除,中间和尾部的*号不删除。

     例如,字符串中的内容为:

*******A*BC*DEF*G****,删除后,字符串中的内容应当是:

A*BC*DEF*G****。

在编写函数时,不得使用C语言提供的字符串函数。

     注意:

部分源程序在文件PROG1.C中。

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

  #include

  void fun(char*a)

  { inti,len=0;

      while(a[len]=='*') 

      len++;

      i=len;

      while(a[i]!

='\0')

      {  

          a[i-len]=a[i];

     i++;

       }

  }

  main()

  { char s[81];

    void

    printf("Enterastring:

\n");gets(s);

    fun(s);

    printf("Thestringafterdeleted:

\n");puts(s);

  }

5、请编写一个函数voidfun(chara[],charb[],intn),其功能是:

删除一个字符串中指定下标的字符。

其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。

     例如,输入一个字符串:

World,然后输入3,则调用该函数后的结果为:

Word。

     注意:

部分源程序在文件PROG1.C中。

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

  #include

  #include

  #defineLEN20

  voidfun(chara[],charb[],intn)

  {5、 a[n]=0;

   strcpy(b,a);

   strcat(b,a+strlen(a)+1);

  }

  main()

  {  charstr1[LEN],str2[LEN];

     intn;

     void

     printf("Enterthestring:

\n");

     gets(str1);

     printf("Entertheindexofthechardeleted:

");

     scanf("%d",&n);

     fun(str1,str2,n);

     printf("Thenewstringis:

%s\n",str2);

  }

2012年计算机二级C语言50套程序编写上机题及答案

来源:

考试大   【考试大:

你最佳的考试选择】   2011年10月29日

导读:

2012年计算机二级C语言50套程序编写上机题及答案根据新教材量身定做的,试题难度和考查范围符合考试大纲的要求,适合大家在看教材的同时,配套练习使用。

  6、请编写一个函数 unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。

     例如:

w值为5923,则函数返回923;w值为923则函数返回23。

     注意:

部分源程序存在文件PROG1.C中。

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

  #include

  unsigned fun(unsigned w)

  {unsignednum=w,n=1;

   while(num!

=0)

   {

    num=num/10;

    n=n*10;

   }

   n=n/10;

   returnw%n;

  }

  main()

  {

     void

     unsigned x;

     printf("Enteraunsignedintegernumber:

 ");scanf("%u",&x);

     printf("Theoriginaldatais:

 %u\n",x);

     if(x<10 )printf("Dataerror!

");

     elseprintf("Theresult :

 %u\n",fun(x));

  }

7、假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

除了字符串前导和尾部的*号之外,将串中其它*号全部删除。

形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。

在编写函数时,不得使用C语言提供的字符串函数。

    例如,字符串中的内容为:

****A*BC*DEF*G********,删除后,字符串中的内容应当是:

****ABCDEFG********。

在编写函数时,不得使用C语言提供的字符串函数。

     注意:

部分源程序在文件PROG1.C中。

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

  #include

  void fun(char*a,char*h,char*p)

  {

  }

  main()

  { char s[81],*t,*f;

    void

    printf("Enterastring:

\n");gets(s);

    t=f=s;

    while(*t)t++;

    t--;

    while(*t=='*')t--;

    while(*f=='*')f++;

    fun(s,f,t);

    printf("Thestringafterdeleted:

\n");puts(s);

  }

 8、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。

请编写函数fun,函数的功能是:

找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。

     注意:

部分源程序存在文件PROG1.C文件中。

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

  #include

  #include

  #define N 10

  typedef struct ss

  { char num[10];  int s; }STU;

  voidfun( STU a[],STU *s )

  {

  }

  main()

  { STU a[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},

                {"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}},m ;

    int  i;void

    printf("*****Theoriginaldata*****\n");

    for(i=0;i

    fun(a,&m);

    printf("*****THE RESULT*****\n");

    printf("Thelowest :

 %s,%d\n",m.num,m.s);

  }

程序编写题参考答案

  1、  intcount=0;

   while(*s!

='\0')

   {

    if(*s>=48&&*s<=57)

     count++;

    s++;

   }

   returncount;

  2、len=strlen(a[i]);

     if(maxlen

     {k=i;maxlen=len;}

  3、intcount=0;

   while(*ss!

='\0')

   {

    if(*ss==c)

     count++;

    ss++;

   }

   returncount;

  4、

      inti,len=0;

      while(a[len]=='*') 

      len++;

      i=len;

      while(a[i]!

='\0')

      {  

          a[i-len]=a[i];

     i++;

       }

  5、 a[n]=0;

   strcpy(b,a);

   strcat(b,a+strlen(a)+1);

  6、  unsignednum=w,n=1;

   while(num!

=0)

   {

    num=num/10;

    n=n*10;

   }

   n=n/10;

   returnw%n;

  7、  char*r,*q;

   for(q=p;q>h;q--)

   {

    if(*q=='*')

    {

     r=q;

     while(*r!

='\0')

     {

      *r=*(r+1);

      r++;

     }

    }

   }

  8、   inti;

   *s=a[0];

   for(i=1;i

   {

    if((*s).s>a[i].s)

     *s=a[i];

   }

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1