1.统计字符串s在字符串str中出现的次数

#include <conio.h>
#include <stdio.h>
#include <string.h>
int MySearch( char* str, char* s )
{char* p;int n =0;for( ; *str; )
/***************found***************/if( ( p = strstr( str, s ) ) != ___1___ ){ n++; str=p+1; }else
/***************found***************/___2___;
/***************found***************/return( ___3___ );
}
main()
{char str1[81], str2[21];printf("\nPlease enter str1 :");gets(str1);printf("\nplease enter str2 :");gets(str2);printf( "\n\n\"%s\" are(is) appeared in str1 %d times\n", str2, MySearch(str1, str2));
}

2. 删除字符串 str 中所有 c 字符,并返回所删字符的个数。

#include <conio.h>
#include <stdio.h>
int MyDelete( char* str, char c )
{int i, j=0, k=0;for( i = 0; str[i]; i++ )if( str[i] != c )
/***************found**************/      {  str[ j ]= str[i];  ___1___;   }elsek++;
/***************found**************/str[j]=___2___ ;
/***************found**************/return( ___3___ );
}
main()
{char string[81], x;printf("\nPlease enter a string:\n");gets(string);printf("\nPlease enter a character: ");scanf("%c", &x );printf( "\n\nAfter deleting %d '%c'(s), the string becomes:\n%s\n",MyDelete(string, x), x, string);
}

3.将未在字符串s中出现而在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按字符串t中字符顺序排列

#include <stdio.h>
#include <string.h>void fun (char  *s, char  *t, char *u)
{   int   i, j, sl, tl, k, ul=0;sl = strlen(s);    tl = strlen(t);for (i=0; i<tl; i++){   for (j=0; j<sl; j++)if (t[i] == s[j])  break;if (j>=sl){   for (k=0; k<ul; k++)
/************found************/if (t[i] == u[k]) ___1___ ;if (k>=ul)
/************found************/u[ul++] = ___2___ ;}}
/************found************/___3___='\0';
}main()
{   char   s[100], t[100], u[100];printf("\nPlease enter string s:"); scanf("%s", s);printf("\nPlease enter string t:"); scanf("%s", t);fun(s, t, u);printf("The result is: %s\n", u);
}

4.将在字符串S中下标为奇数位置上的字符,紧随其后重复出现一次,放在一个新串T中,T中字符按原字符串中字符的顺序排列.(注意0为偶数)

#include <stdio.h>
#include <string.h>void fun (char  *s, char  *t)
{   int  i, j, sl;sl = strlen(s);
/************found************/if(sl%2) sl-=2; ___1___ sl--;
/************found************/for (i=sl, j=___2___; i>=0; i-=2){  t[2*j] = s[i];
/************found************/t[2*j +1] = ___3___ ;j++;}t[2*j]='\0';
}main()
{  char s[100], t[100];printf("\nPlease enter string s:"); scanf("%s", s);fun(s, t);printf("The result is: %s\n", t);
}

5.给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序

#include    <stdio.h>
#include    <string.h>
#define    M    5
#define    N    20
void fun(char  (*ss)[N])
{  int  i, j, k=0, n, m, len;for(i=0; i<M; i++){  len=strlen(ss[i]);if(i==0) n=len;if(len>n) {
/**********found**********/n=len;    ___1___=i;}}for(i=0; i<M; i++)if (i!=k){ m=n;len=strlen(ss[i]);
/**********found**********/for(j=___2___; j>=0; j--)ss[i][m--]=ss[i][j];for(j=0; j<n-len; j++)
/**********found**********/___3___='*';}
}
main()
{  char  ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"};int  i;printf("\nThe original strings are :\n");for(i=0; i<M; i++)  printf("%s\n",ss[i]);printf("\n");fun(ss);printf("\nThe result:\n");for(i=0; i<M; i++)  printf("%s\n",ss[i]);
}

6.

给定程序MODI1.C中函数fun()的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。

#include <conio.h>
#include <ctype.h>
#include <stdio.h>
void fun( char *p )
{int k = 0;for( ; *p; p++ )if( k ){
/**********found***********/if( p == ' ' ){k  = 0;
/**********found***********/* (p-1) = toupper( *( p - 1 ) )}}elsek = 1;
}
NONO( )
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */char  s1[81];FILE *rf, *wf ;rf = fopen("g05.in", "r") ;wf = fopen("g05.out", "w") ;fgets(s1, 80, rf) ;fun(s1);fprintf( wf,"%s", s1 );fclose(rf) ;fclose(wf) ;
}
main()
{char chrstr[64];int d ;printf( "\nPlease enter an English sentence within 63 letters: ");gets(chrstr);d=strlen(chrstr) ;chrstr[d] = ' ' ;chrstr[d+1] = 0 ;printf("\n\nBefore changing:\n  %s", chrstr);fun(chrstr);printf("\nAfter changing:\n  %s", chrstr);NONO();
}

7. 求出s所指字符串中最后一次出现t所指字符串的地址。

#include  <conio.h>
#include  <stdio.h>
#include  <string.h>char * fun (char  *s,  char *t )
{char   *p , *r, *a;
/************found************/a = Null;while ( *s ){   p = s;   r = t;while ( *r )
/************found************/if ( r == p )  { r++;  p++; }else  break;if ( *r == '\0' ) a = s;s++;}return  a ;
}main()
{char   s[100], t[100], *p;printf("\nPlease enter string S :"); scanf("%s", s );printf("\nPlease enter substring t :"); scanf("%s", t );p = fun( s, t );if ( p )  printf("\nThe result is :  %s\n", p);else      printf("\nNot be found !\n" );
}

8.将 tt 所指的字符串中所有的小写字母都转换成对应的大写字母其他字符不变。

#include <conio.h>
#include <stdio.h>
#include <string.h>
char* fun( char tt[] )
{int i;for( i = 0; tt[i]; i++ )
/**********found***********/if(( 'a' <= tt[i] )||( tt[i] <= 'z' ) )
/**********found***********/tt[i] += 32;return( tt );
}
NONO( )
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */char  tt[81], ch;FILE *rf, *wf ;rf = fopen("g10.in", "r") ;wf = fopen("g10.out", "w") ;fgets(tt, 80, rf) ;fun(tt) ;fprintf( wf,"%s", tt );fclose(rf) ;fclose(wf) ;
}
main( )
{int i;char tt[81];printf( "\nPlease enter a string: " );gets( tt );printf( "\nThe result string is:\n%s", fun( tt ) );NONO();
}

9.将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。
例如,字符串s中的数据为:AABBCCDDEEFF,则字符串t中的数据为:ABBCDDEFF。

#include <conio.h>
#include <stdio.h>
#include <string.h>
#define   N     80
void fun(char *s, char t[])
{  int  i, j=0;for(i=0; i<strlen(s); i++)
/***********found**********/if(i%2 && s[i]%2==0)t[j++]=s[i];
/***********found**********/t[i]='\0';
}
main()
{  char  s[N], t[N];printf("\nPlease enter string s : "); gets(s);fun(s, t);printf("\nThe result is : %s\n",t);
}

10. 给定程序中函数fun的功能是:从s所指字符串中删除所有小写字母c。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include  <stdio.h>
void  fun( char  *s )
{   int  i,j;for(i=j=0; s[i]!='\0'; i++)if(s[i]!='c')
/************found************/s[j]=s[i];
/************found************/s[i]='\0';
}
main()
{  char  s[80];printf("Enter a string:       "); gets(s);printf("The original string:  "); puts(s);fun(s);printf("The string after deleted :  "); puts(s);printf("\n\n");
}

11.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部 删除,前面和中间的*号不删除。
例如,字符串中的内容为****A*BC*DEF *G*******,删除后,字符串中的内容应当是****A*BC*DEF*G。在编写函数时,不得使用C语 言提供的字符串函数。

#include <stdio.h>
#include <conio.h>
void  fun( char *a, char *h,char *p )
{}
NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */FILE *in, *out ;int i ; char s[81], *t, *f ;in = fopen("in5.dat", "r")  ;out = fopen("out5.dat", "w") ;for(i = 0 ; i < 10 ; i++) {fscanf(in, "%s", s) ;t=f=s;while(*t)t++;t--;while(*t=='*')t--;while(*f=='*')f++;fun(s, f, t);fprintf(out, "%s\n", s) ;    }fclose(in) ;fclose(out) ;
}
main()
{  char  s[81],*t, *f;printf("Enter a string:\n");gets(s);t=f=s;while(*t)t++;t--;while(*t=='*')t--;while(*f=='*')f++;fun( s , f,t );printf("The string after deleted:\n");puts(s);NONO();
}

12.从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址。

#include <stdio.h>
#include <string.h>
#include <conio.h>fun(char(*a)[81],int num,char **max)
{}
NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */char ss[20][81],*ps;int n,i=0;FILE *rf, *wf ;rf = fopen("b0603.in", "r") ;wf = fopen("b0603.out", "w") ;fgets(ss[i], 81, rf);while(!strncmp(ss[i],"****",4)==0){i++;fgets(ss[i], 81, rf);}n=i;fun(ss,n,&ps);fprintf(wf, "%s",ps);fclose(rf) ;fclose(wf) ;
}
main()
{char ss[10][81],*ps;int n,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);NONO();
}

13. 将ss所指字符串中所有下标为奇数位置上的字母转换为大写

#include <conio.h>
#include <stdio.h>void fun( char *ss )
{}
NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */char tt[51], ch;FILE *rf, *wf ;int len, i=0 ;rf = fopen("b1003.in", "r") ;wf = fopen("b1003.out", "w") ;while(i < 10) {fgets( tt, 50, rf );len = strlen(tt) - 1 ;ch = tt[len] ;if(ch == '\n' || ch == 0x1a) tt[len] = 0 ;fun(tt);fprintf( wf, "%s\n", tt );i++ ;}fclose(rf) ;fclose(wf) ;
}
void main( void )
{char tt[51];printf( "\nPlease enter an character string within 50 characters:\n" );gets( tt );printf( "\n\nAfter changing, the string\n  \"%s\"", tt );fun(tt) ;printf( "\nbecomes\n  \"%s\"", tt );NONO();
}

14. 请编写函数fun,判断一个字符串是否是回文。若是回文函数返回值为1,主函数输出“YES”,否则返回值为0,主函数输出“NO”,。回文是顺读和倒读都一样的字符串。

#include <stdio.h>
#define  N  80
int fun(char *str)
{}
NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */FILE *rf, *wf ;int i ; char s[N] ;rf = fopen("bc.in", "r") ;wf = fopen("bc.out","w") ;for(i = 0 ; i < 10 ; i++) {fscanf(rf, "%s", s) ;if(fun(s)) fprintf(wf, "%s  YES\n", s) ;else       fprintf(wf, "%s  NO\n", s) ;}fclose(rf) ; fclose(wf) ;
}
main()
{ char  s[N] ;printf("Enter a string: ") ; gets(s) ;printf("\n\n") ; puts(s) ;if(fun(s)) printf("  YES\n") ;else       printf("  NO\n") ;NONO() ;
}

15.函数void fun,统计在tt所指字符串中'a'到'z' 26个小写字母各自出现的次数,并依次放在pp所指数组中

#include <conio.h>
#include <stdio.h>void fun(char *tt, int pp[])
{}
NONO ( )
{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/char aa[1000] ;int bb[26], k, n, i ;FILE *rf, *wf ;rf = fopen("bc07.in", "r") ;wf = fopen("bc07.out", "w") ;for(i = 0 ; i < 10 ; i++) {fscanf(rf, "%s", aa) ;fun(aa, bb) ;for ( k = 0 ; k < 26 ; k++ ) fprintf (wf, "%d ", bb[k]) ;fprintf(wf, "\n" ) ;}fclose(rf) ;fclose(wf) ;
}
main( )
{  char aa[1000] ;int  bb[26], k, n ;printf( "\nPlease enter  a char string:" ) ; scanf("%s", aa) ;fun(aa, bb ) ;for ( k = 0 ; k < 26 ; k++ ) printf ("%d ", bb[k]) ;printf( "\n" ) ;NONO ( ) ;
}

计算机二级题目之字符串练习学习相关推荐

  1. 计算机二级考试题是题库随机抽吗,计算机二级题目是题库原题吗,计算机二级题目是随机抽的吗...

    计算机二级题目是题库原题吗,计算机二级题目是随机抽的吗 2021-04-2011:07:30 来源: 作者:wangziyang office的话选择题不用看的,三道操作题都是原题.学完选择题要花很多 ...

  2. 计算机二级为什么靠Java的少,计算机二级考试:Java语言学习六大要点

    计算机二级考试:Java语言学习六大要点 一.掌握静态方法和属性 静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征.Java中大量应用了静态方法和属性,这是一个通常的技巧.但是这种技巧 ...

  3. 计算机二级(二)仅学习

    循环链表是由单链表的最后一个结点指针不指向null,而是指向头结点而成.因此我们分析单链表的存储结构. 单链表是通过一组任意的存储单元存储线性表中的元素的. 这是单链表的定义.单链表的存储单元是任意的 ...

  4. 计算机二级字符串,计算机二级辅导:VC字符串转换

    一.BSTR.LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR.LPSTR和LPWSTR等.之所以出现类似上述的这些数据类型 ...

  5. 计算机二级题目之c数据类型练习学习

    1.下列给定程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第5字母;若小写字母为v-z,使小写字母的值减21.转换后的小写字母作为函数值返同.例如,若形参是字母A,则转换为小写字母f. ...

  6. 计算机二级题目之函数学习

    1.给定程序功能是计算S=f(-n)+f(-n+1)+-+f(0)+f(1)+f(2)+-+f(n)的值. float f( double x){if (x == 0.0 || x == 2.0)re ...

  7. 计算机二级python用什么书-计算机二级Python考试有什么学习资料?

    看到了这个问题就过来了(题主大三,这学期刚通过Python二级考试),一方面是想回答题主,提供初学朋友一些帮助,另一方面也是想对初学Python的那段时光做一些回忆与记录. 想看干货可以直接跳到建议部 ...

  8. 计算机二级Python考试有什么学习资料?

    想看干货可以直接跳到建议部分. 备考&考试过程 我是大二接触Python的,一开始学习完全是出于兴趣,学习基础之后觉的差不多之后便开始做项目.大三的时候听说了Python国家二级考,于是就报名 ...

  9. 斐波拉契数列python123_python计算机二级题目分类汇总

    知乎视频​www.zhihu.com 选择题:40 基本操作题:5 简单应用:10/15 综合应用:20 主要是对文本进行处理 基本操作题 format()函数 用符号填充 {序号:填充 对齐 宽度 ...

最新文章

  1. 深入浅出神经网络的改进方法!
  2. 双十一最新预测:这个连续多年夺第一的省份2020会被超越吗?
  3. php error docref,PHP错误报告级别
  4. WF4.0实战(九):猜数字游戏,测下你的智力
  5. android通话流程浅析RIL层
  6. sql中什么时候应用临时表_SQL数据仓库环境中的临时表应用程序
  7. 「leetcode」37. 解数独【回溯算法】详细图解!
  8. 2021-08-21Verilog三段式状态机的写法,标准示例和仿真。
  9. Error: Cannot find module ‘webpack‘
  10. npm install 时 WARN No repository field Or No license field
  11. 靶机渗透日记 noob
  12. php英文数字转为中文,利用PHP怎么将英文数字转换为阿拉伯数字
  13. Vue3中Compositions API的使用(一)
  14. Bugku WEB 安慰奖
  15. LLVM学习笔记----clang、llvm-as、llvm-dis、llc、 llvm-link、lli
  16. 我的python程序_我试着运行我的python程序,但当我运行它时什么也没有发生
  17. 搜狗大数据总监、Polarr 联合创始人关于深度学习的分享交流 | 架构师小组交流会...
  18. arcgis android 指南针,BaiduMap SDK-地图显示指南针(左上角)
  19. faceu激萌相机里面vue_faceu激萌是什么_faceu激萌功能特点介绍_3DM手游
  20. 驱动程序正常但是网络连接里面wlan右键状态里面打开是空的啥都没有,通过修复提示wlan适配器的驱动程序可能出现问题,下面给大家说一下修复方法。(问题描述:wifi检测不到,驱动正常)

热门文章

  1. 知名图床程序chevereto双十一半价促销,手把手教你如何搭建一个属于自己的无限存储图床
  2. 09-赵志勇机器学习-k-means
  3. 如何找到网站后台管理网页地址
  4. pwm原理与stm32控制
  5. 基于香蕉派平台的Raspberry Pi操作系统安装与配置
  6. ISDB-T DVB-T DTV ATV
  7. java计算机毕业设计干洗店订单管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
  8. ANSI colored Python logging — Gist
  9. 文件宝局域网传输/播放功能Windows10系统经验贴(感谢文件宝用户@卡卡罗特 和@24K 純情)...
  10. CHI Exclusive操作