1、continue;if(flag=1)flag=0;pOutputStrj+=,;pOutputStrj+=pInputStri;pOutputStrj=0int main()char test40;char re40;gets(test);DivideString(test, strlen(test), re);printf(%s,re);return 0;精品2、将输入的字符串(字符串仅包含小写字母 a到 z) ,按照如下规则,循环转换后输出: a-b,b- c, ,y -z,z-a ;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换 2 次。例如:aa 转换为 bc ,zz
2、转换为 ab ;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。 char*input=abbbcd 输出: char*output=bcdcdevoid convert(char *input,char* output)int i;for(i=0;strlen(input);if(i=0)outputi=inputi+1;if(outputi=123)outputi=97;elseif(inputi!=inputi-1)outputi=inputi+2;if(outputi=124)outputi=98;outputi+1=char in20=asdfzzxzxz;char on2
3、0;/gets(in);convert(in,on);,on);3、通过键盘输入一串小写字母 (az) 组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。“ afafafaf ” 输出:“ af ”void stringFilter(const char *pInputStr, long lInputLen, charint i,j,count;int k=0;strlen(pInputStr);count=0;for(j=0;j1)pOutputStrj+=(char)num+0pOutputStrj+=pInputStri-1;num=1;nu
4、m+;ccddeccstringZip(in,strlen(in),on);5、通过键盘输入 100 以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。输入字符串的格式为: “操作数 1 运算符 操作数 2”,“操作数”与“运算符”之间以一个空格隔开。“ 4 - 7” 输出:“ - 3”math.hvoid arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr)int i,count=0,re=0;int x,y,z;int num2=0;char op;if(count!=2)pOutputStr0=p
5、OutputStr1=return;for(x=0;pInputStrx!=x+)if(pInputStrxpInputStrx9num0=num0*10+pInputStrx-for(y=x+1;pInputStry!y+)if(y-x-1!=1)return ;if(pInputStry-1!+pInputStry-1!-op=pInputStry-1;for(z=y+1;zpInputStrznum1=num1*10+pInputStrz-if(op=re=num0+num1;re=num0-num1;itoa(re,pOutputStr,10);char in20;gets(in);a
6、rithmetic(in,strlen(in),on);6、选秀节目打分,分为专家评委和大众评委, score 数组里面存储每个评委打 的 分 数 , judge_type 里 存 储 与 score 数 组 对 应 的 评 委 类 别,judge_typei = 1 ,表示专家评委, judge_typei = 2 ,表示大众评委, n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分 * 0.6 + 大众评委 * 0.4 ,总分取整。如果没有大众评委,则 总分 = 专家评委平均分,总分取整。函数最终返回选手得分。int ca
7、l_score(int score, int judge_type, int n)int i=0,gscore;int pro=0,pub=0;int pro_count=0,pub_count=0;n;if(judge_typei=1)pro_count+;pro=pro+scorei;if(judge_typei=2)pub_count+;pub=pub+scorei;if(pub_count!=0)gscore=pro/pro_count*0.6+pub/pub_count*0.4;gscore=pro/pro_count;return gscore;int score5=90,80,9
8、5,86,87;int judge_type5=1,2,2,1,1;int n=5;%d,cal_score(score, judge_type, n);7、给定一个数组 input ,如果数组长度 n 为奇数,则将数组中最大的元素放到 output 数组最中间的位置,如果数组长度 n 为偶数,则将数组中最大的元素放到 output 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。 input = 3, 6, 1, 9, 7 output = 3, 7, 9, 6, 1; input= 3, 6, 1, 9, 7, 8 o
9、utput = 1, 6, 8, 9, 7, 3void sort(int input, int n, int output)int i,j,k,a;int temp;n-i-1;if(inputjinputj+1)temp=inputj+1;inputj+1=inputj;inputj=temp;k=1;a=1;outputn/2=input0;while(kn)outputn/2-a=inputk+;a+;outputn/2+a-1=inputk+;int input5=99,80,95,86,87;int output5;int n=5,i;sort(input,n,output);%d
10、 ,outputi);8、操作系统任务调度问题。 操作系统任务分为系统任务和用户任务两种。 其中,系统任务的优先级 = 50 且 = 255。优先级大于 255的为非法任务,应予以剔除。现有一任务队列 task ,长度为 n, task 中的元素值表示任务的优先级,数值越小,优先级越高。函数 scheduler 实现如下功能,将 task 中的任务按照系统任务、 用户任务依次存放到 system_task 数组和 user_task 数组中(数组中元素的值是任务在 task 数组中的下标),并且优先级高的任务排在前面,优先级相同的任务按照入队顺序排列(即先入队的任务排在前面),数组元素为 -1
11、 表示结束。 task = 0, 30, 155, 1, 80, 300, 170, 40, 99 system_task=0, 3, 1, 7, -1 user_task = 4, 8, 2, 6, -1 #includevoid scheduler(int task, int n, int system_task, int user_task)int i,j,temp;int a=0,b=0;if(taski=50&taskitasksystem_taskj+1)temp=system_taskj+1;system_taskj+1=system_taskj;system_taskj=tem
12、p;b;b-i-1;if(taskuser_taskjtaskuser_taskj+1)temp=user_taskj+1;user_taskj+1=user_taskj;user_taskj=temp;system_taska=-1;user_taskb=-1;int task9 = 0, 30, 155, 1, 80, 300, 170, 40, 99;int system_task9;int user_task9;int n=9,i;scheduler(task, n,system_task,user_task);system_taski!=-1;,system_taski);user_taski!,user_taski);如有侵权请联系告知删除,感谢你们的配合!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1