#includelt;stdio.hgt;

創(chuàng)新互聯(lián)專注網(wǎng)站設(shè)計,以設(shè)計驅(qū)動企業(yè)價值的持續(xù)增長,網(wǎng)站,看似簡單卻每一個企業(yè)都需要——設(shè)計,看似簡潔卻是每一位設(shè)計師的心血 十載來,我們只專注做網(wǎng)站。認真對待每一個客戶,我們不用口頭的語言來吹擂我們的優(yōu)秀,近1000家的成功案例見證著我們的成長。
#includelt;stdlib.hgt;
int findsub(char*src,char*s)
{
char*ptr=src,*p=s;//定義兩個指針
char*ptr2=src+strlen(src),*prev=NULL;//ptr2為src的末位置指針
int len=strlen(s),n=0;//子串的長度和計數(shù)器
for(;*ptr;ptr++)//循環(huán)整個串
{
if(ptr2-ptrlt;len)//如果一開始子串就大于src,則退出
break;
for(prev=ptr;*prev==*p;prev++,p++)//尋找第一個相等的位置,然后從此位置開始匹配子串
{
if(*(p+1)==0||*(p+1)==10)//如果已經(jīng)到了子串的末尾
{
n++;//自增
p=s;//重新指向子串
break;//退出
}
}
}
return n;
}
int main(void)
{
char a[81],b[81];//定義兩個字符數(shù)組
printf("輸入原字符串:");
fgets(a,81,stdin);//輸入
printf("輸入子字符串:");
fgets(b,81,stdin);
printf("找到:%d\n",findsub(a,b));
system("pause");
return 0;
}
擴展資料:
①printf()函數(shù)是格式化輸出函數(shù),一般用于向標準輸出設(shè)備按規(guī)定格式輸出信息。
格式輸出,它是c語言中產(chǎn)生格式化輸出的函數(shù)(在stdio.h中定義)。用于向終端(顯示器、控制臺等)輸出字符。格式控制由要輸出的文字和數(shù)據(jù)格式說明組成。
要輸出的文字除了可以使用字母、數(shù)字、空格和一些數(shù)字符號以外,還可以使用一些轉(zhuǎn)義字符表示特殊的含義。
簡單點理解就是,在一段程序中你正確使用該函數(shù),可以在該程序運行的時候輸出你所需要的內(nèi)容。
②printf函數(shù)是一個標準庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。但作為一個特例,不要求在使用printf函數(shù)之前必須包含stdio.h文件。
printf()函數(shù)的調(diào)用格式為:printf("lt;格式化字符串gt;",lt;參量表gt;)。
其中格式化字符串用于指定輸出格式。格式控制串可由格式字符串和非格式字符串兩種組成。
#includelt;stdio.hgt;
void TongJi(char s[])
{
int ZiMu=0,KongGe=0,ShuZi=0,QiTa=0,i;
for(i=0;slt;igt;!='\0';i++)
{
if(slt;igt;==32)KongGe++;
else if((slt;igt;gt;=48)(slt;igt;lt;=57))ShuZi++;
else if(((slt;igt;gt;=97)(slt;igt;lt;=122))||((slt;igt;gt;=65)(slt;igt;lt;=90)))ZiMu++;
else QiTa++;
}
printf("空格:%d;數(shù)字:%d;字母:%d;其他:%d。\n",KongGe,ShuZi,ZiMu,QiTa);
}
int main()
{
char s[100];
printf("請輸入:");
gets(s);
TongJi(s);
return 0;
}
擴展資料:
return用法
C++的關(guān)鍵字,它提供了終止函數(shù)執(zhí)行的一種方式。當return語句提供了一個值時,這個值就成為函數(shù)的返回值.
說到return,有必要提及主函數(shù)的定義,下面是從網(wǎng)絡(luò)上找到的資料,好好消化吧,對了解主函數(shù)中返回值的理解有很大的幫助.
很多人甚至市面上的一些書籍,都使用了void main(),其實這是錯誤的。C/C++中從來沒有定義過void main()。
C++之父Bjarne Stroustrup在他的主頁上的FAQ中明確地寫著The definition void main(){/*...*/}is not and never has been C++,
nor has it even been C.(void main()從來就不存在于C++或者C)。下面我分別說一下C和C++標準中對main函數(shù)的定義。
1.C
在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的經(jīng)典巨著The C programming Language 2e(《C程序設(shè)計語言第二版》)用的就是main()。不過在最新的C99標準中,只有以下兩種定義方式是正確的:
int main(void)
int main(int argc,char*argv[])
(參考資料:ISO/IEC 9899:1999(E)Programming languages—C 5.1.2.2.1 Program startup)
當然,我們也可以做一點小小的改動。例如:char*argv[]可以寫成char**argv;argv和argc可以改成別的變量名(如intval和charval),不過一定要符合變量的命名規(guī)則。
如果不需要從命令行中獲取參數(shù),請用int main(void);否則請用int main(int argc,char*argv[])。
main函數(shù)的返回值類型必須是int,這樣返回值才能傳遞給程序的激活者(如操作系統(tǒng))。
如果main函數(shù)的最后沒有寫return語句的話,C99規(guī)定編譯器要自動在生成的目標文件中(如exe文件)加入return 0;,表示程序正常退出。不過,我還是建議你最好在main函數(shù)的最后加上return語句,雖然沒有這個必要,但這是一個好的習(xí)慣。
注意,vc6不會在目標文件中加入return 0;,大概是因為vc6是98年的產(chǎn)品,所以才不支持這個特性。現(xiàn)在明白我為什么建議你最好加上return語句了吧!不過,gcc3.2(Linux下的C編譯器)會在生成的目標文件中加入return 0;。
#include?stdio.h
#include?string.h
int?conNumfromStr(char?*,int);
int?main()
{
char?str[21];
printf("輸入20以內(nèi)的字符:");
scanf("%s",str);
printf("字符串中數(shù)字字符個數(shù)為:%d",conNumfromStr(str,strlen(str))?);
return?0;
}
int?conNumfromStr(char?*p,int?len)//計數(shù)字符串中數(shù)字字符的個數(shù)
{
int?i,con=0;
for(i=0;ilen;i++)
{
if(p[i]='0'??p[i]='9')
con++;
}
return?con;
}
#includestdio.h
#includestring.h
main()
{
int?i,j=0,k;
char?a[1000];//長度自己根據(jù)實際情況調(diào)整
printf("請輸入一串字符串:\n");
gets(a);
k=strlen(a);
for(i=0;ik;i++)
if('0'=a[i]='9')
j++;
printf("這串字符串中數(shù)字字符有%d個!\n",j);
}
#includestdio.h
#define N 100
void count(char str[],int times[]) //統(tǒng)計小寫字符出現(xiàn)次數(shù)
{
int i;
for(i=0;str[i]!='\0';i++)
{
if(str[i]='a' str[i]'a'+26) //只統(tǒng)計小寫字符
times[str[i]-97]++; //字符a的ascii碼為97,str[i]-97正好將26個字母對應(yīng)在times數(shù)組的26個位置上。
}
}
int main()
{
char str[N];
int i,times[26]; //time數(shù)組中每一個元素代表一個小寫字符,其值代表字符的出現(xiàn)次數(shù)
for(i=0;i26;i++) //初始化,所有字符次數(shù)置0
times[i]=0;
scanf("%s",str); //讀入字符串
count(str,times); //調(diào)用函數(shù)統(tǒng)計次數(shù),讓times裝載統(tǒng)計結(jié)果
for(i=0;i26;i++) //輸出結(jié)果,小寫字符a的ascii碼為97.
{
printf("%c\t%d\n",i+97,times[i]);
}
return 0;
}
#includestdio.h
#includestring.h
int k=0,l=0;
void spw(char a[100])
{
int i=0,n=0;
n=strlen(a);
for(i=0;in;i++)
{
if(a[i]+'A'a[i]='Z'||a[i]='a'a[i]='z')
k++;
if(a[i]='0'a[i]='9')
l++;
}
}
int main ()
{
char a[100];
gets(a);
spw(a);
printf("%d字母,%d數(shù)字",k,l);
return 0;
}
文章標題:c語言子函數(shù)調(diào)用統(tǒng)計字符 c語言統(tǒng)計字符
網(wǎng)址分享:http://chinadenli.net/article22/hepccc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、標簽優(yōu)化、移動網(wǎng)站建設(shè)、網(wǎng)站制作、軟件開發(fā)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)