當前位置:編程學習大全網 - 編程語言 - 編程顯示字符a

編程顯示字符a

下面是我給妳編譯的程序。我試過了,它有效。結果是正確的,但輸出格式可能不符合您的要求。請告訴我,我會改變它。我已經添加了評論。不懂的請問我。希望能幫到妳。

#包含“stdio.h”

intinput 1(char a[])//數組的輸入返回數組的長度。

{

int I;

char p = ' a//初始化P,讓P可以參與下面的循環。

for(I = 0;p!= ' \ nI++) //只要不輸入回車,就會壹直執行下面的存儲字母的操作。

{

scanf("%c ",& ampp);

如果(p!='\n') //如果沒有輸入回車,則字母存儲在數組中。

a[I]= p;

Else //如果輸入enter,將保存“\0”。

a[I]= 0;

}

返回I-1;//i-1是數組長度。

}

Int input2(char a[],int len) //len是數組A的長度,返回數組B的長度。

{

int I;

char p = ' a

for(I = 0;p!= ' \ ni++)

{

scanf("%c ",& ampp);

如果(p!='\n ')

a[I]= p;

其他

a[I]= 0;

}//以上同input1。

if(len & lt;I-1) //如果數組B的長度更長,就不可能有符合要求的字符串,所以返回0作為數組B的長度..

返回0;

其他

返回I-1;//返回i-1,因為它是B數組的長度。

}

Intwork (Char A [],Char B [],Intlen 1,Intlen 2)//Len 1,len 2分別是數組A和B的長度。

{

int n=0,i=0,j=0,temp = 0;//temp應該總是和I壹致。

while(I+len 2 & lt;=len1) //只要A中a[i]後有壹個字符串和數組B壹樣長,作如下判斷。

{

如果(a[i]!=b[0]) //在A中逐個查找。只要不同於B的第壹個字符,什麽都不做,在循環中等待i++。

其他

while(temp & lt;I+len2) //如果找到和b[0]壹樣的,就從這個元素開始,把len在A中的兩個字符和b中的兩個字符進行比較。

{

If(a[temp]==b[j]) //如果相等,比較下壹對元素。

{

j++;

temp++;

If(temp==i+len2-1) //如果比較了最後壹個,說明A中有和B中相同的字符串,那麽N加1。

n++;

}

else if(temp!=b[j])

打破;

}

i++;//在中查找下壹個元素,以等待下壹次循環。

temp = I;//temp在任何時候都應該和I壹致

j = 0;//對於A中的每壹個元素,如果等於b[0],就要從頭開始比較B中的序列。

}

返回n;

}

void main()

{

int len1,len2,num//len1是A中的長度,len2是B中字符串的長度,num是A中字符串的個數..

char a[81],b[81];//分別存儲兩個字符串。

len 1 = input 1(a);//寫入輸入a[81]的子函數,返回的字符串長度。

len2=input2(b,len 1);//為輸入a[81]準備的子函數

num=work(a,b,len1,len 2);//計算請求的數量。

printf("%d\n ",num);

printf("%s\n ",a);

printf("%s\n ",b);

}

  • 上一篇:速算技巧
  • 下一篇:兒童手工制作環保袋視頻
  • copyright 2024編程學習大全網