1、 3.。,则输出。 char*num1,*num2; 过键盘输入一串小写字母(az)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。要求实现函数:void stringFilter(const char *pInputStr,long lInputLen, char *pOutputStr);【输入】 pInputStr:输入字符串lInputLen: 输入字符串长度【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;#include 1) *p_outstr+=
2、count +0 *p_outstr+=p_stri;count = 1;过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。补充说明:1. 操作数为正整数,不需要考虑计算结果溢出的情况。2. 若输入算式格式错误,输出结果为“0”。void arithmetic(const char*pInputStr, long lInputLen, char *pOutputStr);void arithmetic(const char *input, longlen, char *out
3、put) chars110; chars210; chars310; intcnt = 0; intlen_input=strlen(input);len_input;+i) if(inputi=) cnt+; if(cnt!=2) *output+= *output= return;sscanf(input,%s %s %s,s1,s2,s3); if(strlen(s2)!=1|(s20!=+&s20!-)int len_s1=strlen(s1);len_s1; if(s1i9 intlen_s3=strlen(s3);len_s3; if(s3iint x = atoi(s1); in
4、t y = atoi(s3); if(s20= intresult = x+y;itoa(result,output,10); elseif(s20= intresult = x-y; itoa(result,output,10); charstr = 10 - 23; charoutstr10; arithmetic(str,len,outstr);,str);6.一组人(n个),围成一圈,从某人开始数到第三个的人出列,再接着从下一个人开始数,最终输出最终出列的人(约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3.n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个
5、人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。typedef struct Node intdata; structNode *next;LinkList;LinkList *create(int n) LinkList*p,*q,*head; inti=1; p=(LinkList*)malloc(sizeof(LinkList); p-data=i; head=p; for(i=1;=n; q=(LinkList*)malloc(sizeof(LinkList); q-data=i+1;next=q; p=q;next=head; 输
6、入一串字符,只包含“0-10”和“,”找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数。如输入 “3,3,4,5,6,7,7” charstr100;输入一组字符串:n%sstr); intlen=strlen(str); intarray100; intcount=0; if(stristri arraycount+=stri- arraycount= intresult=count; intmin=array0; intmax=array0;count; if(max min=arrayj; for(intk=0;kHeightj; temp=Heightj-1; He
7、ightj-1=Heightj; Heightj=temp; H1=Height0; H2=Height1; dmin=H2-H1; for(intm=2;mm+) if(Heightm-Heightm-1arrj+1; temp=arrj; arrj=arrj+1; arrj+1=temp;int GetPassLine(int a) bubblesort(a); if(a0=60) return60; return(int)a4/10)*10); inta10=0; intresult;请随机输入10个成绩(0-100):%d%d%d%d%d%d%d%d%d%da0,&a1,&a2,&a3
8、,&a4,&a5,&a6,&a7,&a8,&a9); result=GetPassLine(a);及格线为: return1;12.描述:一条长廊里依次装有n(1 n 65535)盏电灯,从头到尾编号1、2、3、n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。n个学生按此规定走完后,长廊里电灯有几盏亮着。注:电灯数和学生数一致。电灯的数量亮着的电
9、灯数量样例输入:3样例输出:1#define Max_Bubl_Num 65535int GetLightLampNum(int n) intBublNumMax_Bubl_Num=0; 描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次)。地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18地铁线B(直线
10、)经过车站:B1 B2 B3 B4 B5 T1B6 B7 B8 B9 B10 T2 B11 B12 B13 B14 B15输入两个不同的站名输出最少经过的站数,含输入的起点和终点,换乘站点只计算一次输入样例:A1 A3输出样例:stringqueuevectorusing namespace std;#define MAX 35#define SUBWAY_A 20#define SUBWAY_B 15typedef struct nodeint adjvex;struct node *next;edgenode;typedef structchar name10;bool flag;edge
11、node *link;vexnode;const charsubway_name1SUBWAY_A10=A1,A2A3A4A5A6A7A8A9T1A10A11A12A13T2A14A15A16A17A18const charsubway_name2SUBWAY_B10=B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15void creat(vexnode ga)int i;edgenode *p;for(i=0;MAX;i+) gai.link=NULL; gai.flag=true; if(inext=p; if(i=9)p-adjvex=SUBWAY_A+4;next-adjvex=SUBWAY_A+5;gai.link- else if(i=14)adjvex=SUBWAY_A+9;adjvex=SUBWAY_A+10;adjvex=SUBWAY_A-1;ga0.link=p;adjvex=1;ga0.link-adjvex=SUBWAY_A-2;gaSUBWAY_A-1.link=p;adjvex=0;gaSUBWAY_A-1.link-adjvex=SUBWAY_A+i+1; gai+SUBWAY_A.link-adjvex=SUBWAY_A+3;gaSUBWAY_A+4.link=p;adjvex=9;gaSUBWAY_A+4.link-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1