#includestdio.h
創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、泉山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為泉山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
int main(void)
{ int num[10]={0} ; //定義數(shù)組,里面的元素全部為0,用來統(tǒng)計(jì)0--9出現(xiàn)的次數(shù)
int b[]={1,2,3,4,4,1,3}; //定義數(shù)組B,里面存放你要輸入的數(shù)字串
int i ;
for(i=0;isizeof(b);i++)
num[ b[i] ] ++;
for(i=0;i10;i++)
printf( "%d",num[i]);
return 0;
}
可以參考下面的代碼:
#include stdio.h
#include string.h
voidmain()
{charc,s[80];inti,k=0;
gets(s);/*輸入字符串*/
printf("Pleaseinputacharacter:");c=getchar();
for(i=0;s[i]!='\0';i++)
{if(s[i]==c)
k++;
}
printf("%cisfound%dtimes",c,k);
}
C語言是一門面向過程的計(jì)算機(jī)編程語言,與C++、Java等面向?qū)ο缶幊陶Z言有所不同。C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級(jí)存儲(chǔ)器、僅產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。
擴(kuò)展資料:
C語言參考函數(shù)
C語言labs()函數(shù):求整數(shù)的絕對(duì)值(針對(duì)long類型)
C語言isgraph()函數(shù):判斷一個(gè)字符是否是圖形字符
C語言isdigit()函數(shù):判斷一個(gè)字符是否為數(shù)字
C語言iscntrl()函數(shù):判斷一個(gè)字符是否為控制字符
C語言isalpha()函數(shù):判斷一個(gè)字符是否是字母
C語言isalnum()函數(shù):判斷一個(gè)字符是否是字母或者數(shù)字
C語言frexp()函數(shù):提取浮點(diǎn)數(shù)的尾數(shù)和指數(shù)部分
參考資料來源:百度百科-c語言
看我旁邊做的注解
cnt(s,array); /*調(diào)用子函數(shù)cnt,并傳給參數(shù)s,
array。s是字符數(shù)組,相當(dāng)于字符串指針;array是數(shù)組好理解*/
for(i=0;i26;i++)
printf("%d",array[i]);
/*
for循環(huán)
依次輸出26個(gè)字母出現(xiàn)的次數(shù)。這里%d后面加個(gè)空格或逗號(hào)分隔才好
*/
printf("\n");
子函數(shù)
void
cnt(char
*p,int
arr[])
/*
第一個(gè)參數(shù)是字符串指針,第二個(gè)參數(shù)是整型數(shù)組
*/
{
int
i;
for(i=0;i26;i++) /*數(shù)組初始化*/
arr[i]=0;
/*
26個(gè)字母的個(gè)數(shù)全初始設(shè)置為0
*/
while(*p)
/*
循環(huán),*p表示取指針p所指的字符,如果為0則表示字符串結(jié)束,退出循環(huán)
*/
{
if(*p='a'*p='z') /*數(shù)組元素判斷*/
/*
判斷是否是a到z的字母,若是才統(tǒng)計(jì)*/
arr[*p-'a']++; /*p與字母a的差值剛好就是數(shù)組arr下標(biāo)*/
/*
字母a對(duì)應(yīng)數(shù)組的下標(biāo)是0,
b是1,依次類推
*/
p++;
/*
指針加1,
指向后面一個(gè)字符
*/
}
}
#includelt;stdio.hgt;
#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;//子串的長度和計(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語言中產(chǎn)生格式化輸出的函數(shù)(在stdio.h中定義)。用于向終端(顯示器、控制臺(tái)等)輸出字符。格式控制由要輸出的文字和數(shù)據(jù)格式說明組成。
要輸出的文字除了可以使用字母、數(shù)字、空格和一些數(shù)字符號(hào)以外,還可以使用一些轉(zhuǎn)義字符表示特殊的含義。
簡單點(diǎn)理解就是,在一段程序中你正確使用該函數(shù),可以在該程序運(yùn)行的時(shí)候輸出你所需要的內(nèi)容。
②printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。但作為一個(gè)特例,不要求在使用printf函數(shù)之前必須包含stdio.h文件。
printf()函數(shù)的調(diào)用格式為:printf("lt;格式化字符串gt;",lt;參量表gt;)。
其中格式化字符串用于指定輸出格式。格式控制串可由格式字符串和非格式字符串兩種組成。
b[a[i]]++; a[i] 是數(shù)組元素,數(shù)值在0-9范圍內(nèi),所以b[a[i]] 總在 b[0]到b[9]之間。
b[] 已初始化為 0。
b[a[i]]++; 是 b[a[i]]=b[a[i]]+1; 它是累加器。
可以看成: x=a[i]; b[x]=b[x]+1; 第一次 b[x]++變1,第二次 b[x]++變2, 第三次 b[x]++變3。 例如 i=1,7,9 時(shí) x=5,b[5] 累加3次變3。 這樣就統(tǒng)計(jì)出5出現(xiàn)的次數(shù)了。
實(shí)現(xiàn)代碼:
#include stdio.h
int main() {
int num = 0, i = 0;
printf("請(qǐng)輸入一個(gè)整數(shù):");
scanf("%d", num);
int array[10] = {};
while(num) {
array[num % 10]++;? //讓數(shù)組下標(biāo)代表所判斷的數(shù)字
num /= 10;
}
for (i = 0; i 10; i++) {
if (array[i] != 0)
printf ("%d有%d個(gè)\n", i, array[i]);
return 0;
}
擴(kuò)展資料:
printf用法:
printf()函數(shù)的調(diào)用格式為:printf("<格式化字符串>",<參量表>)。
其中格式化字符串包括兩部分內(nèi)容:一部分是正常字符,這些字符將按原樣輸出;另一部分是格式化規(guī)定字符,以"%"開始,后跟一個(gè)或幾個(gè)規(guī)定字符,用來確定輸出內(nèi)容格式。
參量表是需要輸出的一系列參數(shù),其個(gè)數(shù)必須與格式化字符串所說明的輸出參數(shù)個(gè)數(shù)一樣多,各參數(shù)之間用","分開,且順序一一對(duì)應(yīng),否則將會(huì)出現(xiàn)意想不到的錯(cuò)誤。
比如:
inta=1234;
printf("a=%d\n",a);
輸出結(jié)果為a=1234。