1. 程式人生 > >把一個字串中的大寫字母放到後面,小寫字母放到前面,並且相對位置不變

把一個字串中的大寫字母放到後面,小寫字母放到前面,並且相對位置不變


/*°ÑÒ»¸ö×Ö·û´®µÄ´óд×Öĸ·Åµ½×Ö·û´®µÄºóÃ棬¸÷¸ö×Ö·ûµÄÏà¶ÔλÖò»±ä
 *
 */
 
 
#include <stdio.h>
#include <string.h>
 
int main()
{
    char buf[]= "WqqQaABbbCccccc`1233XccYccDdE";
    char tem;
    int pre, end,length,i;
    int flag =0;
    length = strlen(buf);
    end = length -1;
    pre = end;
    while(1)
    {
        if( (pre < 0) )
            break;
        if( (buf[end] >= 'A') && (buf[end] <= 'Z') )
        {
            end--;
            if( pre >= end )
                pre = end -1;
            continue ;
        }
        //while((pre >= 0) && (buf[pre] >= 'a') && ( buf[pre] <= 'z') )
        while((pre >= 0) && ((buf[pre] < 'A')|| ( buf[pre] > 'Z')) )
        {
            pre--;
        }

        if( (pre >= 0) && (buf[pre] >= 'A') && (buf[pre] <= 'Z') )
        {
            if( pre < end )
            {
                tem = buf[pre];
                for( i = pre+1; i<=end; i++ )
                {
                     buf[i-1] = buf[i];
                }
                buf[end] = tem ;
                end--;
                pre--;
            }
        }
    }// while
    printf("====%s\n", buf);
}

相關推薦

一個字串大寫字母放到後面小寫字母放到前面並且相對位置

/*°ÑÒ»¸ö×Ö·û´®µÄ´óд×Öĸ·Åµ½×Ö·û´®µÄºóÃ棬¸÷¸ö×Ö·ûµÄÏà¶ÔλÖò»±ä  *  */     #include <stdio.h> #include <string.h>   int ma

一個字串大寫字母放到字串後面各個字元的相對位置能申請額外的空間。

import java.util.Scanner; public class Yiwei {     public static void main(String[] args) {        &

[面試演算法]一個字串大寫字母放到字串後面各個字元的相對位置能申請額外的空間。

//把一個字串的大寫字母放到字串的後面,各個字元的相對位置不變,不能申請額外的空間。 void MoveSupperToEndWithOrginOrder( char* szSrc , int nS

實現一個函式一個字串的字元從小寫轉為大寫

#include <stdio.h> #include <stdlib.h> #include <conio.h> void upper(char* s, char* us) { while(*s != '\0')

java編寫輸出一個字串大寫英文字母數、小寫英文字母數以及非英文字母

        下面用了三種演算法實現,執行效率逐漸提高... 第一種: public class TestString { public static void main(String[] ar

輸入一個整數陣列實現一個函式來調整該陣列數字的順序使得所有的奇數位於陣列的前半部分 所有的偶數位於陣列的後半部分並保證奇數和奇數偶數和偶數之間的相對位置

/** * * 輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分, * 所有的偶數位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 * * */ public class Solution { public stati

劍指offer題目描述 輸入一個整數陣列實現一個函式來調整該陣列數字的順序使得所有的奇數位於陣列的前半部分所有的偶數位於位於陣列的後半部分並保證奇數和奇數偶數和偶數之間的相對位置不變

牛客網劍指offer線上程式設計: 方法一:利用兩個指標,實現了是陣列奇數在前偶數在後,但通過不了測試用例,因為改變了奇數和奇數,偶數和偶數之間的相對位置 class Solution { public:     void reOrderArray(vector<in

給定一個數組nums一個函式將所有的值移動0到最後同時保持非零元素的相對順序

import java.util.*;class Solution {     public void moveZeroes(int[] nums) {         List<Integer> nonZeroElements = new ArrayList&

給定由大寫小寫字母和空格組成的字串返回 最後 一個單詞的長度。 如果輸入存在單詞返回 0。

給定由大寫,小寫字母和空格組成的字串,返回 最後 一個單詞的長度。 如果輸入中不存在單詞,返回 0。 注意: “單詞”是指不包含空格符號的字串 例如: 對於字串"hello World"(不帶引號), 那麼返回的結果是 5; 對於字串"abc "(不帶引號),那麼

一個字串大寫字母,空字元,小寫字母和數字統計出個數

public class Test2 { public static void main(String[] args) { String s="absdfkJ JJSKF M76N KNDSFK907J980"; int num=0; int xiaoxi

一個字串所有出現的大寫字母都替換成小寫字母同時小寫字母替換成大寫字母

原始碼如下:#include <stdio.h>#include <stdlib.h>#include <string.h>char* ChangeEngChar(c

【Java】編寫一個程式輸出一個字串大寫英文字母小寫英文字母數以及非英文字母

/* * 作者:筱筱 * 日期:20170507 * 功能:編寫一個程式,輸出一個字串中的大寫英文字母數,小寫英文字母數以及非英文字母數。 */ public class Aa3Count { public static void main(S

編寫一個程式輸出一個字串大寫英文字母小寫英文字母數以及非英文字母數。

import java.util.Scanner;public class CountString{    public static void main(String[] args){        int uletter = 0;//儲存大寫字母        int l

JAVA傳入一個字串,返回一個字串大寫字母

    /**      *       * @param 傳入一個字串      * @return 返回一個字串中的大寫字母      */     private static String stringChange(String s) {         if (

一個字符串統計大寫字母個數小寫字母個數其他字符個數的四種算法

nload PC 這一 write pro ews toc title 指定 題目描述:編寫程序,輸出字符串中的大寫字母、小寫小母和其他的個數。如有一個字符串"Helle, This is A test textfile.123456, tannk you!!",則其大寫字

統計一個字符串大寫字母字符小寫字母字符數字字符出現的次數,其他字符出現的次數。

包含 abc 出現的次數 i++ r++ abcde g++ HA () /** * A:案例演示 * 需求:統計一個字符串中大寫字母字符,小寫字母字符,數字字符出現的次數,其他字符出現的次數。 * ABCDEabcd123456!

【C語言】統計一個字串字母、數字、空格及其它字元的數量

統計一個字串中字母、數字、空格及其它字元的數量 解法1: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> void Count(con

一個字串裡的所有單詞的第一個字元轉換為大寫

//把一個字串裡的所有單詞的第一個字元轉換為大寫  用到 了字串方法split slice join charAt toUpperCase var str = 'ni hao ma!' function getUpper(str){ var words = str.split(' '); for(v

判斷一個字串數字還是字母(java)

public class Test {     public static void main(String[] args) {         String str = "wq8123fvvbvrt78931321"; &nb

統計一個字串字母、數字、其它字元的個數返回一個元組`

統計一個字串中字母、數字、其它字元的個數,返回一個元組` def sum_of_characters(str1): num = 0 letter = 0 char = 0 for i in str1: if i.isdigit():