一波C語言字符數(shù)組實用技巧集錦
字符數(shù)組倒序
#include <stdio.h> void daoxu(char str[]){ int i; char temp; for(i = 0; i < strlen(str) / 2 ; i ++){ temp = str[i]; str[i] = str[strlen(str) - i-1]; str[strlen(str) - i-1] = temp; } }
單詞計數(shù)
int wordCount(char str[]){ int i; int count = 0; int word = 0; for (i = 0 ; str[i] != '\0' ; i ++) { if (str[i] == ' ') { word = 0; }else if (word == 0) { word = 1; count ++; } } return count; }
字符大寫轉(zhuǎn)小寫
void mylwr(char str[]){ int i; for (i = 0 ; str[i] != '\0' ; i ++) { if (str[i] >= 'A' && str[i] <= 'Z') { str[i] += 'a' - 'A'; } } }
字符小寫轉(zhuǎn)大寫
void myupr(char str[]){ int i; for (i = 0 ; str[i] != '\0' ; i ++) { if (str[i] >= 'a' && str[i] <= 'z') { str[i] -= 'a' - 'A'; } } }
字符數(shù)組計算字符串長度
int mylen(char str[]){ int len; for (len = 0 ; str[len] != '\0' ; len ++); return len; }
字符串連接
void mycat(char str1[],char str2[]){ int i,j; for (i = 0 ; str1[i] != '\0' ;i++); for (j = 0 ; str2[j] != '\0' ; j ++) { str1[i + j] = str2[j]; } str1[i + j] = '\0'; }
指定長度串接
void myncat(char str1[],char str2[], int len){ int i,j; for(i = 0; str1[i] != '\0'; i++); for (j = 0; j < len; j++) { str1[i + j] = str2[j]; } str1[i + j] = '\0'; }
字符數(shù)組拷貝
void mycpy(char dst[],char src[]){ int i = 0; do { dst[i] = src[i]; } while (src[i++] != '\0'); }
字符數(shù)組指定長度拷貝
void myncpy(char dst[],char src[], int len){ int i; for (i = 0; i < len; i++) { dst[i] = src[i]; } dst[i] = '\0'; }
找出句子中最長的單詞
void longest(char dst[],char src[]){ int i = 0,j; int count =0; int max = -1; do { if (src[i] ==' ' || src[i] == '\0') { if (count > max) { max = count; for (j = 0; j < count; j++) { dst[j] = src[i - count + j]; } dst[j] = '\0'; } count = 0; }else{ count++; } } while (src[i++] != '\0'); }
從字符串中提取整形數(shù)字
#include <stdio.h> int getint(char str[], int a[]){//從字符串中提取數(shù)字并放在數(shù)組中 int i = 0; int w = 0; int c = 0; int j, k; do { if (str[i] > '0' && str[i] <= '9') { w++; }else if (w) { j = 0; for (k = w; k > 0; k--) { j *= 10; j += str[i - k] - '0'; } w = 0; a[c] = j; c++; } } while (str[i++] != '\0'); return c; } void main(){ char str[100]; int a[100]; int i, j; gets(str); i = getint(str,a); for (j = 0; j < i; j++) { printf("%d ",a[j]); } }
整形、字符數(shù)組型轉(zhuǎn)換
#include <stdio.h> #include <stdlib.h> int sumof1(int x)//求一個數(shù)轉(zhuǎn)換成二進制以后1的個數(shù) { int countx = 0; while(x) { countx ++; x &= x-1; //每位與一次x - 1;就能消掉最后一個1 } return countx; } void main(){ char c[10]; int i = 999; itoa(i, c, 10);//以10進制轉(zhuǎn)換成字符數(shù)組 puts(c); itoa(i, c, 16);//以16進制轉(zhuǎn)換成字符數(shù)組 printf("0x%s\n", c); itoa(i, c, 8);//以8進制轉(zhuǎn)換成字符數(shù)組 printf("0%s\n", c); itoa(i, c, 2);//以2進制轉(zhuǎn)換成字符數(shù)組 puts(c); i = atoi(c);//再將字符串轉(zhuǎn)成整形 printf("%d\n", i); printf("%d\n", sumof1(i));//以2進制表示時1的個數(shù) }
欄 目:C語言
下一篇:簡單講解C語言中宏的定義與使用
本文標題:一波C語言字符數(shù)組實用技巧集錦
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2344.html
您可能感興趣的文章
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用函數(shù)刪除字符
- 04-02c語言的正則匹配函數(shù) c語言正則表達式函數(shù)庫
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對數(shù)怎么表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求階乘


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機閱讀
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10C#中split用法實例總結(jié)
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 08-05織夢dedecms什么時候用欄目交叉功能?