#includelt;stdio.hgt;
創(chuàng)新互聯(lián)建站,為您提供網(wǎng)站建設(shè)、網(wǎng)站制作公司、網(wǎng)站營(yíng)銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對(duì)服務(wù)社區(qū)文化墻等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
#includelt;stdlib.hgt;
int findsub(char*src,char*s)
{
char*ptr=src,*p=s;//定義兩個(gè)指針
char*ptr2=src+strlen(src),*prev=NULL;//ptr2為src的末位置指針
int len=strlen(s),n=0;//子串的長(zhǎng)度和計(jì)數(shù)器
for(;*ptr;ptr++)//循環(huán)整個(gè)串
{
if(ptr2-ptrlt;len)//如果一開始子串就大于src,則退出
break;
for(prev=ptr;*prev==*p;prev++,p++)//尋找第一個(gè)相等的位置,然后從此位置開始匹配子串
{
if(*(p+1)==0||*(p+1)==10)//如果已經(jīng)到了子串的末尾
{
n++;//自增
p=s;//重新指向子串
break;//退出
}
}
}
return n;
}
int main(void)
{
char a[81],b[81];//定義兩個(gè)字符數(shù)組
printf("輸入原字符串:");
fgets(a,81,stdin);//輸入
printf("輸入子字符串:");
fgets(b,81,stdin);
printf("找到:%d\n",findsub(a,b));
system("pause");
return 0;
}
擴(kuò)展資料:
①printf()函數(shù)是格式化輸出函數(shù),一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。
格式輸出,它是c語(yǔ)言中產(chǎn)生格式化輸出的函數(shù)(在stdio.h中定義)。用于向終端(顯示器、控制臺(tái)等)輸出字符。格式控制由要輸出的文字和數(shù)據(jù)格式說(shuō)明組成。
要輸出的文字除了可以使用字母、數(shù)字、空格和一些數(shù)字符號(hào)以外,還可以使用一些轉(zhuǎn)義字符表示特殊的含義。
簡(jiǎn)單點(diǎn)理解就是,在一段程序中你正確使用該函數(shù),可以在該程序運(yùn)行的時(shí)候輸出你所需要的內(nèi)容。
②printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。但作為一個(gè)特例,不要求在使用printf函數(shù)之前必須包含stdio.h文件。
printf()函數(shù)的調(diào)用格式為:printf("lt;格式化字符串gt;",lt;參量表gt;)。
其中格式化字符串用于指定輸出格式。格式控制串可由格式字符串和非格式字符串兩種組成。
int count[36]={0};
int i = 0;
char ch = 0;
char str[200] = {0};
printf("input string:")
scanf("%s",str);
for (i=0;istrlen(str);i++)
{
ch=str[i];
if ((ch'A')||(ch'Z')) continue;
count[ch-'A'] ++;
}
顯示:
for(i=0;i36;i++)
{
if (count[i]==0) continue;
printf("%c:%d ",i+'A', count[i]);
}
截圖上傳不上去,代碼也不能格式化。
#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("請(qǐng)輸入:");
gets(s);
TongJi(s);
return 0;
}
擴(kuò)展資料:
return用法
C++的關(guān)鍵字,它提供了終止函數(shù)執(zhí)行的一種方式。當(dāng)return語(yǔ)句提供了一個(gè)值時(shí),這個(gè)值就成為函數(shù)的返回值.
說(shuō)到return,有必要提及主函數(shù)的定義,下面是從網(wǎng)絡(luò)上找到的資料,好好消化吧,對(duì)了解主函數(shù)中返回值的理解有很大的幫助.
很多人甚至市面上的一些書籍,都使用了void main(),其實(shí)這是錯(cuò)誤的。C/C++中從來(lái)沒(méi)有定義過(guò)void main()。
C++之父Bjarne Stroustrup在他的主頁(yè)上的FAQ中明確地寫著The definition void main(){/*...*/}is not and never has been C++,
nor has it even been C.(void main()從來(lái)就不存在于C++或者C)。下面我分別說(shuō)一下C和C++標(biāo)準(zhǔn)中對(duì)main函數(shù)的定義。
1.C
在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的經(jīng)典巨著The C programming Language 2e(《C程序設(shè)計(jì)語(yǔ)言第二版》)用的就是main()。不過(guò)在最新的C99標(biāo)準(zhǔn)中,只有以下兩種定義方式是正確的:
int main(void)
int main(int argc,char*argv[])
(參考資料:ISO/IEC 9899:1999(E)Programming languages—C 5.1.2.2.1 Program startup)
當(dāng)然,我們也可以做一點(diǎn)小小的改動(dòng)。例如:char*argv[]可以寫成char**argv;argv和argc可以改成別的變量名(如intval和charval),不過(guò)一定要符合變量的命名規(guī)則。
如果不需要從命令行中獲取參數(shù),請(qǐng)用int main(void);否則請(qǐng)用int main(int argc,char*argv[])。
main函數(shù)的返回值類型必須是int,這樣返回值才能傳遞給程序的激活者(如操作系統(tǒng))。
如果main函數(shù)的最后沒(méi)有寫return語(yǔ)句的話,C99規(guī)定編譯器要自動(dòng)在生成的目標(biāo)文件中(如exe文件)加入return 0;,表示程序正常退出。不過(guò),我還是建議你最好在main函數(shù)的最后加上return語(yǔ)句,雖然沒(méi)有這個(gè)必要,但這是一個(gè)好的習(xí)慣。
注意,vc6不會(huì)在目標(biāo)文件中加入return 0;,大概是因?yàn)関c6是98年的產(chǎn)品,所以才不支持這個(gè)特性。現(xiàn)在明白我為什么建議你最好加上return語(yǔ)句了吧!不過(guò),gcc3.2(Linux下的C編譯器)會(huì)在生成的目標(biāo)文件中加入return 0;。
char *ch,就是定義一個(gè)字符型的指針,來(lái)接收指針,在你的程序里就是接收你輸入的字符串的首地址。要想返回實(shí)參,根據(jù)你的目的,應(yīng)該是各類字符的個(gè)數(shù),可以用一個(gè)數(shù)組實(shí)現(xiàn)。
int* sum(char *ch,int sum[4]);用一個(gè)長(zhǎng)度為4的一維數(shù)組來(lái)統(tǒng)計(jì)各類字符的個(gè)數(shù);
同樣int* 表示返回一個(gè)整形指針;
你應(yīng)該這樣調(diào)用sum()函數(shù);p=sum(ch,sum);(當(dāng)然你之前要,在main()里定義一個(gè)整形指針接受sum()的返回值),把sum[4]={0}初始化全部為0,),用p[0],p[1],p[2],p[3]表示
字母,數(shù)字,空格和其他字符的個(gè)數(shù)。
不明白的再問(wèn)我
#includestdio.h
#includestring.h
main()
{
int?i,j=0,k;
char?a[1000];//長(zhǎng)度自己根據(jù)實(shí)際情況調(diào)整
printf("請(qǐng)輸入一串字符串:\n");
gets(a);
k=strlen(a);
for(i=0;ik;i++)
if('0'=a[i]='9')
j++;
printf("這串字符串中數(shù)字字符有%d個(gè)!\n",j);
}