1. 程式人生 > >C例項----刪除鍵盤輸入字串的所有空格

C例項----刪除鍵盤輸入字串的所有空格

問題描述:編寫一個函式,其引數為一個字串,刪除字串中的所有空格並輸出。
分析:遍歷字元陣列,當遇到空格時,將空格後面的所有字元從空格處重新寫入,直到遇到‘\0’結束。
程式碼:

#include <stdio.h>
#include <string.h>

char *DeleteBlank(char *src)
{
    char *p = src;
    int i,j;
    for(i=0;src[i];i++)
    {
        if(src[i]==' ')
        {
            for(j = i; src[j]; j++)
                src[j] = src[j+1
]; i--; } } return p; } int main () { char s[128] = {0}; scanf("%[^\n]",s); printf("%s\n",DeleteBlank(s)); return 0; }

執行結果:
這裡寫圖片描述

相關推薦

C例項----刪除鍵盤輸入字串所有空格

問題描述:編寫一個函式,其引數為一個字串,刪除字串中的所有空格並輸出。 分析:遍歷字元陣列,當遇到空格時,將空格後面的所有字元從空格處重新寫入,直到遇到‘\0’結束。 程式碼: #include <stdio.h> #include <s

C#報錯:輸入字串格式不正確

List<Model> data1 = list.Select(x => new Model { num = Convert.ToDecimal(x.PM25) }).OrderBy(x => x.num).ToList(); 修改如下: data = list

C程式設計——從鍵盤輸入多個數據,並輸出其中第二大的資料

1、注:第二大數小於最大數 2、程式 #include <stdio.h> int getmax2(int *,int); int main() { int a[99] = {0}; int count = 0; printf ("Please input

C++:從鍵盤輸入一個整數,判斷該數是幾位數,並且逆向輸出該數字

#include using namespace std; int change(int n) //逆向輸出該數 {int rn; for(int i=0;i<10;i++) { if(n>0) { rn=rn*10+n%10; n=n/10;

鍵盤輸入字串並將其轉為字元陣列

import java.util.Scanner; public class MoveCode { public static void main(String[] args) { // TODO Auto-generated me

利用hashmap獲取鍵盤輸入字串中每個字元出現的次數

class hello { public static void main(String[] args) throws ParseException { Scanner sc = new Scanner(System.in); String s = sc.nextLine();

c語言獲取使用者輸入字串是scanf和gets的區別

解釋 gets(s)函式與 scanf("%s",&s) 相似,但不完全相同,使用scanf("%s",&s) 函式輸入字串時存在一個問題,就是如果輸入了空格會認為字串結束,空格後的字元將作為下一個輸入項處理,但gets()函式將接收輸入的整個字串直到遇到換

c總結 使用scanf輸入字串問題

  學習c時經常遇到字串的輸入問題,使用scanf輸入時總是會或多或少的遇到錯誤,總結一下我遇到過的情況 同時輸入字元和字串   剛開始編寫時可能大多數會這樣寫:    (ch1為字元型別的陣列,陣列名即陣列的首地址,所以不要&)  當輸入  字元  回車時會

C++中利用gets()輸入字串時改變初始字元的下標

複習PAT的時候,看到求最長公共子序列的程式碼,其中有這麼幾行程式碼: char A[N]; gets(A+1);//從下標為1開始讀入 int lenA=strlen(A+1);//由於讀下標從1開始,因此讀取長度也從+1開始 這樣,當要遍歷A中所有字元的時候,需要寫以

linux下使用c語言刪除指定目錄下所有檔案

http://blog.csdn.net/gitar520/article/details/7582727 我一直以為使用c提供的方法可以跨越平臺,但無疑我是錯的,上次寫的刪除檔案所使用的兩個api——_findfirst和_findnext無法在gcc下使用,但linux

接收鍵盤輸入字串的程式(轉)

:: Get user input - includes error check @echo off echo e102'set %%1='> %temp%.\t1.dat for %%? in (w q) do echo %%?>> %temp%.\t1.dat :input echo.

初學java:從鍵盤輸入字串,並統計其中數字字元的個數

import java.util.Scanner; public class Test {public static void main(String[] args) {String s=null;int count = 0;Scanner in=new Scanner(System.in);System.o

Java 鍵盤輸入數字(空格隔開) 將數字存入陣列。

Scanner sc = new Scanner(System.in); String inputString = sc.nextLine();

Java 鍵盤輸入數字(空格隔開) 將數字存入數組

div can code spl 數組 () split next ring Scanner sc = new Scanner(System.in); String inputString = sc.nextLine(); String stringArray[]

基於回溯法思想:輸入一個字串,按字典序打印出該字串中字元的所有排列。例如輸入字串abc,則打印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。

    連結:https://www.nowcoder.com/questionTerminal/fe6b651b66ae47d7acce78ffdd9a96c7 來源:牛客網 import java.util.List; import java.util.Col

c語言在輸入字串輸入空格的方式

1.最容易的,將一個字串分為一個一個字元輸入 char s[100]; int i=0; while(scanf("%c",&s[i]),s[i]!='/n')i++; s[i]='/0'; //遇到換行停止輸入,並且將換行替

如何去掉C#字串中的所有空格

字串行數Trim()可以去掉字串前後的空格,如:  C# Code  1 2 string myString = "  this is a test   "; Console.WriteLine(myString.Trim()); 輸出的結果為:

C++如何輸入多行字串(含空格)

我們要實現這樣的功能: 輸入一個整數n,表示接下來要輸入n行字串,每一行字串帶有空格,按回車表示結束該行的輸入 程式1: #include <iostream> #include <string> using namespace std; int

#題目描述:輸入一個字串,按字典序打印出該字串中字元的所有排列。例如輸入字串abc, #則打印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba

才學不久,希望每天能記錄一篇 import random def zidianxulie():#封裝整個函式 a=input(“請輸入字串:”) a1=sorted(a)#先對我輸入的字串進行一個排序,簡單得到一個列表 l=[]#空列表的

題目:輸入一個字串,打印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab和cba。

題目:輸入一個字串,打印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab和cba。 /** * */ pack