C語言_刪除字元函式
編寫一個函式del().用於從給定字串中刪除一部分。傳輸三個引數,一個待刪除字串,一個刪除起始位置(從0開始),一個刪除長度.
分析:
已經知道陣列(sum),刪除位置(del),刪除長度(len)
char 字串的長度的結束會加上‘\0’->末端符號
比如:char sum[]="Hello world!";
在其實計算機會把它理解為:sum[]={'H','e','l','l','o',' ','w','o','r','l','d','!'};
在記憶體裡面'H','e','l','l','o',' ','w','o','r','l','d','!','\0'->多一個末端符號
我們可以移動末端符號的位置來標記陣列結束位置
陣列abcdef 刪除位置:2刪除長度為:2
a b c d e f
| 1 | 3 |2 |
1,2區域是要保留,第3要刪除的
所有我們要找到對應的位置然後替換
#include <stdio.h> #include <stdlib.h> #include <string.h> void del(char[],int,int); int main(int argc, const char * argv[]) { printf("輸入字串:"); char sum[50]; gets(sum); printf("刪除位置:"); int del_1=0; scanf("%d",&del_1); printf("刪除長度:"); int len; scanf("%d",&len); del(sum,del_1,len); for(int i=0;i<strlen(sum);i++) { printf("%c",sum[i]); } printf("\n"); return 0; } void del(char sum[],int del,int len) { int i=0; for (; i<strlen(sum)-len-del; i++) { sum[del+i]=sum[len+del+i]; } sum[del+(strlen(sum)-len-del)]='\0'; }
相關推薦
C語言_刪除字元函式
編寫一個函式del().用於從給定字串中刪除一部分。傳輸三個引數,一個待刪除字串,一個刪除起始位置(從0開始),一個刪除長度. 分析: 已經知道陣列(sum),刪除位置(del),刪除長度(len) char 字串的長度的結束會加上‘\0’
c語言_指標型函式
函式指標變數 在C語言中,一個函式總是佔用一段連續的記憶體區,而函式名就是該函式所佔記憶體區的 首地址。我們可以把函式的這個首地址(或稱入口地址)賦予一個指標變數,使該指標變數指 向該函式。然後通過指標變數就可以找到並呼叫這個函式。我們把這種指
C語言_自定義函式使用用例
1 . 實現一個函式,列印乘法口訣表,口訣表的行數和列數自己指定 輸入9,輸出9*9口訣表,輸出12,輸出12*12的乘法口訣表。 #include<stdio.h> int m
c語言 解析常用字元操作函式
在c語言中有很多的字元操作函式,而我們經常用到的字元操作函式有strcpy ,strncpy ,strcat ,strcmp ,strlen ,strlwr ,strupr ,gets ,puts ,等等很多很多。
C語言_函式遞迴舉例
1.遞迴和非遞迴分別實現求第n個斐波那契數。 //求第 n 個斐波那契數 #include <stdio.h> #include <stdlib.h> int Fib1(int n) { if (n == 1 || n == 2) { re
C語言-陣列、字元指標陣列函式介面與使用
#include <stdio.h> #include <stdlib.h> typedef char* myString; //#define MY_STRING #if
C語言下使用iconv函式實現字元編碼轉換
1.iconv相關函式介紹 iconv命令是用來轉換檔案的編碼方式的(Convert encoding of given files from one encoding to another),比如它可以將UTF8編碼的轉換成GB18030的編碼,反過來也行。一般linux下包含iconv指令: 格式:ico
C語言_在自定義函式裡使用結構體_Cplus14.6
#include<stdio.h> #define FUNDLEN 50 struct fund {char bank[FUNDLEN];double bankfund;char save[FUNDLEN];double savefund; }; double
【C語言】實現一個函式,可以左旋字串中的k個字元。
.實現一個函式,可以左旋字串中的k個字元。 AABCD左旋一個字元得到ABCDA AABCD左旋兩個字元得到BCDAA 思路: 1.如果直接進行左移,肯定會存在陣列前面的元素丟失。 解決辦法:
C語言之定義一個函式,實現對字串做如下操作:當字元為字母時,大小寫互換,當字元為數字時,原樣輸出,當有其它字元出現時,結束操作,返回已處理的字串
Action(){ char str[]={"tEst234%^road"};int len = sizeof(str)/sizeof(char);//strTest2呼叫函式lr_output_message("%s",strTest2(str,len)); r
C語言_動態連結串列的簡單建立與節點刪除
程式詳解: 1、輸入學生的姓名和年齡,進行順序排列。 2、刪除其中某位學生的資料 #include<stdio.h> #include<stdlib.h> #include<string.h> #define
c語言:用getchar函式讀入兩個字元給c1,c2,用putchar和printf輸出。思考問題
用getchar函式讀入兩個字元給c1,c2,分別用putchar和printf輸出這兩個字元。思考以下問題:(1)變數c1和c2定義為字元型還是整型?或二者皆可?(2)要求輸出c1和c2的ASCII碼,應如何處理?(3)整形變數和字元變數是否在任何情況下都可以互相代替?ch
C語言實驗——刪除指定字元 (sdut oj)
C語言實驗——刪除指定字元 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 從鍵盤輸入一個字串給str和一個字
c語言_文件操作_FILE結構體小解釋
hold 輸出 def 系統 span fopen 大小 round typedef 參考文檔來自:https://www.cnblogs.com/haore147/p/3648395.html 我們通過fopen返回一個文件指針(指向FILE結構體的指針)來進行文件操作。
C語言訓練-2557-分段函式
Problem Description 今天,希望你能用程式裡的函式實現數學裡的分段函式,加油哦。 這個分段函式長得是這個樣子的: F(x) = log2(x) 0<x<10 = |x|+sin(x) x<0 =0 x=0 =x^2 x>=10 Input 輸入包含多
C語言_操作符
操作符可以分很多的類,例如:算術操作符 移位操作符 位操作符 賦值操作符 單目操作符 關係操作符 邏輯操作符 條件操作符 逗號表示式 下標引用,函式呼叫和結構成員.這篇部落格則是把每類操作符介紹一下. 算術操作符: + -
C語言:如何用函式實現2-100以內素數的判別
C語言中如何用函式實現2-100以內素數的判別 #include<stdio.h> #include<math.h> int isPrime(int);//函式宣告 int main() { int i; for(i = 2; i <= 100;
C語言_日曆
編寫一個日曆程式,以2000年為基準,要求輸入一個年月,輸出對應月份的日曆表 執行結果: 程式碼如下: #include <stdio.h> #include <stdlib.h> #include <assert.h> int
C語言_堆的基本操作
本片部落格主要包含一下幾個內容: 堆的基本操作 1、建立堆 2、調整堆(向下調整) 3、插入 4、移除堆頂元素 5、返回堆元素個數 6、判斷是不是空堆 7、返回堆頂元素 8、向上調整堆 9、交換兩個數 10、判斷堆是否已滿,如果滿了,就增容;如果沒有滿,就
C語言_二叉樹的基本操作及常見面試題
本片部落格主要包含以下內容: 和二叉樹操作相關的佇列基本操作 初始化 入佇列 判斷佇列是否為空 出佇列,返回對頭元素 和二叉樹相關的棧的基本操作 初始化 入棧 出棧 判空 返回棧頂元素並出棧 返回棧頂元素不出棧