c語言字元串編程
#include <stdio.h>
char *StrCat(char *s,char *t)
{
int i=0,j=0;
char *s1,*t1;
s1=s;t1=t;
for(;*s1;s1++,i++);
for(;*t1;t1++,j++);
if(i<=j)
{
for(;*t;)*s1++=*t++;*s1='\0';
return s;
}
else
{
for(;*s;)*t1++=*s++;*t1='\0';
return t;
}
}
int main(int argc, char *argv[])
{
char a[100],b[100];
scanf("%s",a);
scanf("%s",b);
printf("%s",StrCat(a,b));
return 0;
}
❷ C語言:編程統計字元串s在字元串str中出現的次數
以下是 C 語言實現統計字元串 s 在字元串 str 中出現的次數的程序:
```c
#include <stdio.h>
#include <string.h>
// 統計字元串 s 在字元串 str 中出現的次數
int countSubstring(char str[], char s[]) {
int n = strlen(str); // 獲取字元串 str 的長度
int m = strlen(s); // 獲取字元串 s 的長度
int count = 0; // 計數器,初始化為 0
for (int i = 0; i <= n - m; i++) {
// 檢查字元串 str 中以 i 開頭、長度為 m 的子串是否等於 s
if (strncmp(str + i, s, m) == 0) {
count++; // 如果相等,則計數器加 1
}
}
return count;
}
int main() {
char str[100], s[100];
printf("請輸入兩個字元串:");
scanf("%s%s", str, s);
int count = countSubstring(str, s);
printf("%s 在 %s 中出現的次數是:%d\n", s, str, count);
return 0;
}
```
在上述代碼中,我們首先定義了一個 `countSubstring()` 函數,該函數接受兩個字元串作為參數,並返回字元串 `s` 在字元鉛喚串 `str` 中出現的次數。在函數內部,我們使用一個循環依次檢查 `str` 中每個長度為 `m` 的子串是否等於 `s`,如果相等,則計數器加 1。需要注意的是,在比較子串是否相等時,我肢激毀們歷備使用了 `strncmp()` 函數,它可以指定要比較的字元數,避免了因為字元串長度不同而導致的錯誤。
在 `main()` 函數中,我們首先使用 `scanf()` 函數獲取用戶輸入的兩個字元串,並將其保存到字元數組 `str` 和 `s` 中。然後,我們調用 `countSubstring()` 函數,並傳入兩個字元串作為參數,以獲取字元串 `s` 在字元串 `str` 中出現的次數。最後,我們輸出結果到控制台中。
需要注意的是,在實際應用中,可能需要對用戶輸入進行驗證和處理,以確保程序的健壯性和安全性。另外,也可以使用其他方法(如標准庫函數)來實現統計字元串出現次數的演算法。
❸ 用C語言編寫一個在字元串中插入一個字元的程序
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#defineN100
voidInsert(char*s);
intmain()
{
charstr[N];
printf("Inputastring:");
gets(str);
Insert(str);
printf("Insertresults:%s ",str);
return0;
}
voidInsert(char*s)
{
charstr[N];
char*t=str;
strcpy(t,s);
for(;*t!='