第一篇:求若干字符串中最長(zhǎng)的字符串的C語(yǔ)言程序.doc
#include
#include
void main()
{
char a[100][100];
int i = 0, n = 0,k = 0,cnt=0;
printf(“請(qǐng)輸入你要輸入字符串的行數(shù):n”);scanf(“%d”,&cnt);
printf(“請(qǐng)輸入%d個(gè)字符串:n”,cnt);cnt+=1;
while(i { gets(a[i]); i++; } for(i = 0;i { if(strlen(a[i])> n) { n = strlen(a[i]); k = i; } } printf(“最長(zhǎng)的字符串是: %sn”, a[k]); } 《C語(yǔ)言常用字符串接口總結(jié)》 1)字符串操作 strcpy(p, p1)復(fù)制字符串 strncpy(p, p1, n)復(fù)制指定長(zhǎng)度字符串 strcat(p, p1)附加字符串 strncat(p, p1, n)附加指定長(zhǎng)度字符串 strlen(p)取字符串長(zhǎng)度 strcmp(p, p1)比較字符串 strcasecmp忽略大小寫(xiě)比較字符串 strncmp(p, p1, n)比較指定長(zhǎng)度字符串 strchr(p, c)在字符串中查找指定字符 strrchr(p, c)在字符串中反向查找 strstr(p, p1)查找字符串 strpbrk(p, p1)以目標(biāo)字符串的所有字符作為集合,在當(dāng)前字符串查找該集合的任一元素 strspn(p, p1)以目標(biāo)字符串的所有字符作為集合,在當(dāng)前字符串查找不屬于該集合的任一元素的偏移 strcspn(p, p1)以目標(biāo)字符串的所有字符作為集合,在當(dāng)前字符串查找屬于該集合的任一元素的偏移 * 具有指定長(zhǎng)度的字符串處理函數(shù)在已處理的字符串之后填補(bǔ)零結(jié)尾符 2)字符串到數(shù)值類型的轉(zhuǎn)換 strtod(p, ppend)從字符串 p 中轉(zhuǎn)換 double 類型數(shù)值,并將后續(xù)的字符串指針存儲(chǔ)到 ppend 指向的 char* 類型存儲(chǔ)。 strtol(p, ppend, base)從字符串 p 中轉(zhuǎn)換 long 類型整型數(shù)值,base 顯式設(shè)置轉(zhuǎn)換的整 型進(jìn)制,設(shè)置為 0 以根據(jù)特定格式判斷所用進(jìn)制,0x, 0X 前綴以解釋為十六進(jìn)制格式整型,0 前綴以解釋為八進(jìn)制格式整型 atoi(p)字符串轉(zhuǎn)換到 int 整型 atof(p)字符串轉(zhuǎn)換到 double 符點(diǎn)數(shù) atol(p)字符串轉(zhuǎn)換到 long 整型 3)字符檢查 isalpha()檢查是否為字母字符 isupper()檢查是否為大寫(xiě)字母字符 islower()檢查是否為小寫(xiě)字母字符 isdigit()檢查是否為數(shù)字 isxdigit()檢查是否為十六進(jìn)制數(shù)字表示的有效字符 isspace()檢查是否為空格類型字符 iscntrl()檢查是否為控制字符 ispunct()檢查是否為標(biāo)點(diǎn)符號(hào) isalnum()檢查是否為字母和數(shù)字 isprint()檢查是否是可打印字符 isgraph()檢查是否是圖形字符,等效于 isalnum()| ispunct() 4)函數(shù)原型 原型:strcpy(char destination[], const char source[]);功能:將字符串source拷貝到字符串destination中 例程: #include void main(void){ char str1[10] = { “TsinghuaOK”}; char str2[10] = { “Computer”}; cout < 注意:在定義數(shù)組時(shí),字符數(shù)組1的字符串長(zhǎng)度必須大于或等于字符串2的字符串長(zhǎng)度。不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接賦給一個(gè)字符數(shù)組。所有字符串處理函數(shù)都包含在頭文件string.h中。 strncpy(char destination[], const char source[], int numchars);strncpy:將字符串source中前numchars個(gè)字符拷貝到字符串destination中。strncpy函數(shù)應(yīng)用舉例 原型:strncpy(char destination[], const char source[], int numchars);功能:將字符串source中前numchars個(gè)字符拷貝到字符串destination中 例程: #include char str1[10] = { “Tsinghua ”}; char str2[10] = { “Computer”}; cout < 原型:strcat(char target[], const char source[]);功能:將字符串source接到字符串target的后面 例程: #include char str1[] = { “Tsinghua ”}; char str2[] = { “Computer”}; cout < 原型:strncat(char target[], const char source[], int numchars);功能:將字符串source的前numchars個(gè)字符接到字符串target的后面 例程: #include char str1[] = { “Tsinghua ”}; char str2[] = { “Computer”}; cout < 原型:int strcmp(const char firststring[], const char secondstring);功能:比較兩個(gè)字符串firststring和secondstring 例程: #include void main(void){ char buf1[] = “aaa”; char buf2[] = “bbb”; char buf3[] = “ccc”; int ptr; ptr = strcmp(buf2,buf1); if(ptr > 0) cout <<“Buffer 2 is greater than buffer 1”< else cout <<“Buffer 2 is less than buffer 1”< ptr = strcmp(buf2,buf3); if(ptr > 0) cout <<“Buffer 2 is greater than buffer 3”< else cout <<“Buffer 2 is less than buffer 3”< 原型:strlen(const char string[]);功能:統(tǒng)計(jì)字符串string中字符的個(gè)數(shù) 例程: #include cout <<“The length of the string is :”<第二篇:黑馬程序員C語(yǔ)言教程:《C語(yǔ)言常用字符串接口總結(jié)》