/*
寫乙個函式,它的原形是int continumax(char *outputstr,char *intputstr)
功能: 在字串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中乙個函式引數outputstr所指記憶體。
*/#include #include #include //自己寫的 把每個數字串都存下來再判斷 對於這道題的要求 略顯麻煩了 但如果要輸出每個數字串 可在這個基礎上改改就出來了
int findmax_numstr(char *outputstr,char *inputstr)
if(flag==1)
in++;
}//字母:
in++;
flag=0;
}//比較count,求最長數字串
count=(count-numcnt+1);
max=numcnt-1;
int tempnum=count[numcnt-1];
for(i=0;itempnum)
/**(temp[max]+tempnum)='\0';
outputstr=temp[max];
*///儲存最長數字串
for(i=0;i 47 && *in < 58)
else
in++;
if(maxlen < count)
}for(i =0;i1000裡,能被5整除的數的個數n1,能被25整除的數的個數n2,能被125整除的數的個數n3,
能被625整除的數的個數n4.1000!末尾的零的個數=n1+n2+n3+n4;
只要是末尾是5的數它乘以乙個偶數就會出現乙個0,而末尾是0的數乘以任何數也都會出現0
而末尾是0的如果是乙個0肯定能被5整除,兩個0肯定能被25整數,以此類推3個0就能被5的三次方整除,也就是125
1000!就是1-1000數的相乘,能被5整除的所有數分別乘以乙個偶數就會出現這些個的0,而例如100,既能被5整除,
也能被25整除,所以就是兩個0
1000,既能被5,25,也能被125整除,所以算三個0
例如是10!=1*2*3*4*5*6*7*8*9*10,裡面有兩個數能被5整除,就是10和5,而
5隨便乘以乙個偶數就出現乙個0,而10乘以其它數也會出現乙個0,所以10!會有兩個0
*///方法一:
#include#define num 1000
void main()
printf("%d\r\n",n1+n2+n3+n4);
}//方法二:遞迴
#include #define num 1000
int find5(int num)
return ret;
}void main(void)
/*
編寫乙個 c 函式,該函式在乙個字串中找到可能的最長的子字串,且該字串是由同一字元組成的。
*///dfggggsrer455555frtrrrtvvvwwwwwwf445t56
#include #include #include #define num 10
//類似第一道的方法 每次比較 存出現次數最多的字元
char *find(char *str)
if(flag==1)
flag=0;
}if(curcnt>maxcnt)
curcnt=0;
}for(i=0;ifinal[i]='\0';
return final;
}void main()
面試筆試整理2 c 常問問題
1 new delete和malloc free區別 這兩個表示式都用於申請動態記憶體和釋放動態記憶體。但是new可以用於非內部資料型別的物件,而malloc是無法做到的,因為new和delete是作用於建構函式和析構函式的,是c 的運算子 但是malloc是庫函式。注意delete是呼叫一次析構函...
2 C語言位操作
常用位操作 在這裡插入描述 位異或 兩位都相等,結果為0,不相等則為1 左移位 將乙個運算元的各二進位制全部左移若干位,左邊移除出去的二進位制位丟棄,右邊的二進位制位補0。每進行一次左移位操作,得到的結果是原來運算元的一倍 x n x 2 n 位操作與暫存器 暫存器的操作 1 暫存器特定位的清零用 ...
遞迴程式設計2(C語言)
實驗內容 題目1 將非負十進位制整數n轉換成b進製。其中b 2 16 題目2 任何乙個正整數都可以用2的冪次方表示。例如 137 27 23 2 0 同時約定冪次方用括號來表示,即ab 可表示為a b 由此可知,137可表示為 2 7 2 3 2 0 進一步 7 22 2 20 21用2表示 3 2...