以行为单位对字符串变量下标为奇数位置上的字符按其ASCii值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中
2012-09-18 21:18
591 查看
#include <stdio.h> #include <string.h> #include <windows.h> #include <conio.h> char xx[20][80]; void jsSort() //扦插法排序 { int i,j,s,k; char temp; for(i=0;i<20;i++) //对20行进行循环 { s=strlen(xx[i]); //求每一行的字符长度 for(j=3;j<s;j=j+2) //对下标为奇数的字符扫描 { k=j; //前插法排序 while((xx[i][k]<xx[i][k-2])&&(k>=3)) { temp=xx[i][k]; xx[i][k]=xx[i][k-2]; xx[i][k-2]=temp; k=k-2; } } } } void main() { readDat(); jsSort(); writeDat(); } readDat() { FILE *in; int i=0; char *p; in=fopen("IN76.DAT","r"); while(i<20&&fgets(xx[i],80,in)!=NULL) { p=strchr(xx[i],'\n'); if(p)*p=0; i++; } fclose(in); } writeDat() { FILE *out; int i; out=fopen("OUT76.DAT","w"); //system("cls"); for(i=0;i<20;i++) { printf("%s\n",xx[i]); fprintf(out,"%s\n",xx[i]); } fclose(out); } /***************************************** 选择排序void jsSort() void jsSort() { //选择排序 int i,j,k,s; char temp; for(i=0;i<20;i++) { s=strlen(xx[i]); //求字符串长度 for(j=1;j<s;j+=2) //第一次从第一个奇数下标元素向后比较 for(k=j+2;k<s;k=k+2) //每次从后面选择最小的元素 放到前面 if(xx[i][j]>xx[i][k]) { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } } } */
博主个人网站 http://henghui.web-126.com/
相关文章推荐
- 33.将字符串中下标位置为奇数的字符按照ascII从小到大排序输出。
- 给定一个字符串数组{"nba","abc","cba","zz","qq","haha"},请按照字典顺序进行从小到大的排序。
- 从键盘输入一个字符串,按照字符顺序从小到大进行排序,并要求删除重复的的字符。
- 转:从键盘输入一个字符串,按照字符顺序从小到大进行排序,并要求删除重复的的字符。
- java 给定一个字符串数组。按照字典顺序进行从小到大的排序。
- 华为:现有一串字符串,请对字符串中的数字字符按照升序排序,其他非数字字符存储位置保持不变,将结果保存至output数组中
- 求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序
- 02_对N个长度最长可达到1000的数进行排序、对给定的一个字符串,找出有重复的字符,并给出其位置、输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序
- 用block变量来对字符数组对象进行排序
- 对字符串进行快速排序(即字符数组排序)
- 将S所指的字符串中下标为偶数同时ASCⅡ值为奇数的字符删除,所指串中剩余的字符形成新的串放在t所指的数组中
- 有一串字符串a12hh123mm21m78 ,请将其中的数字提取出来存入数组,使用选择排序算法将其进行排序:
- 按照字典顺序对字符串数组进行从大到小的排序。
- //@"6",@"34",@"56","78"存入数组,并进行排序降序输出结果
- 将一个字符串中的字符按照ASCII码从小到大的顺序排序
- 求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序。
- 对字符串数组进行排序,将所有的变位词排在相邻的位置
- 程序员面试金典: 9.11 排序与查找 11.1编写一个方法,对字符串数组进行排序,将所有变位词排在相邻的位置。
- 100.字符串中奇数位置字符和ASCII为偶数的字符放在字符数组t中
- 字符串重新排序,数字字符移到右边,字母字符移到左边,保持字符在原字符串中的前后顺序不变