1、1.实验内容或题目(1)输入英文句子,如 This is a string 存入数组:0123Thisisastring0则运行程序后分割如下:0This01is02a03string0(2)输入算术表达式,如:2*3+6/3.存入数组。则运行程序后分割如下:2、实验目的与要求(1)掌握字符串的存储方法。(2)掌握英文句子按单词和标点符号分割的方法。(3)掌握算术表达式按运算对象和运算符(只涉及+、-、*、/)分割的方法。3、实验步骤与源程序 实验步骤1)首先,为了使程序更为通俗易懂,我们在程序开头,定义一个结构体。2)分别对各个数据名定义数据类型。3)根据题意,编写程序。在对运算符分割时,根
2、据题目要求,只涉及+、-、*、/等运算符,所以编写程序时要特别考虑若不是此类运算符则返回 return 0.4)在对英文句子按单词和标点符号分割时,要特别考虑英文单词之间的空格是不需要考虑分割的。所以只要找到相应的空格就能分割英文单词。0201*02303+04605/06307.0 源代码#include#include#include void split1()/空格分割法 char s1000;char line255255;printf(请输入一组字符串:);gets(s);int i=0,n=0,k;dok=0;while(sn=)n+;for(;sn!=0&sn!=&sn!=n;n
3、+,k+)lineik=sn;lineik=0;i+;while(sn!=0);printf(分割后的字符串数组:n);int j;for(j=0;j0)/不是返回之前的字符串 str2j=0;return i;else /是返回运算符 str2j+1=0;return i+1;i+;j+;str2j=0;/分割字符串结束字符 return i;/返回目前位置elsereturn-1;/分割结束void split2()/多分隔符分割法char string255;/字符串数组声明char token_string255;/分割字符串声明int pos;/分割位置printf(请输入一组字符串
4、或算术表达式:);gets(string);/读取字符串pos=0;/设置分割位置初值printf(经过字符串分割后:n);while(pos=token(string,token_string,pos)!=-1)/分割字符串直到字符串结束printf(%sn,token_string);/输出各分割字符串system(pause);int sel;void select()/菜单 system(cls);/清屏 printf(t 字 符 串 分 割 程 序 n);printf(t*n);printf(t*1.分割字符串分割 *n);printf(t*2.算术表达式分割 *n);printf(t*3.退 出 *n);printf(t*n);printf(t 请选择(1-3):);scanf(%d,&sel);getchar();void main()for(;)select();switch(sel)case 1:split1();break;case 2:split2();break;case 3:exit(0);break;default:printf(选项不存在,请重新选择!n);system(pause);4、测试数据与实验结果(可以抓图粘贴)