C編程筆試 — 數組編程問題?
題目要求:
試計算在區間 1 到 n 的所有整數中,數字 x(0 ≤ x ≤ 9) 共出現了多少次?例如,在 1 到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11 中,數字 1 出現了 4 次。
?輸入示例:
輸入:
11
輸出:
4
?說明:?在 1 到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11 中,數字 1 出現了 4 次。
?示例代碼:
#include
#include
int solution(int m, int n){
int result;
// TODO: 請在此編寫代碼
int i=0,j=0;
int data=m;
int cnt=0;
if(n>m)return 0;
result=1;
while(data)
{
data/=10;
cnt++;//計算m是幾位數
}
for(i=10;i<=m;i++)//11
{
data=1;
for(j=1;j<=cnt;j++)
{
if(i/data%10 == n)result++;
data*=10;
}
}
return result;
}
int main() {
int m;
int n;
printf("請輸入整數m:");
scanf("%d", &m);
printf("請輸入要查找的數0~9:");
scanf("%d", &n);
struct timeval tv;
gettimeofday(&tv, NULL);//獲取系統精準時間
int result = solution(m, n);
printf("1~%d中%d出現的次數:%d\n", m,n,result);
struct timeval tv2;
gettimeofday(&tv2, NULL);//獲取系統精準時間
printf("程序運行時間:%ld s--%ld us\n",tv2.tv_sec-tv.tv_sec,tv2.tv_usec-tv.tv_usec);
return 0;
}
?測試結果:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
180文章
7628瀏覽量
139657 -
筆試
+關注
關注
0文章
4瀏覽量
6584 -
數組
+關注
關注
1文章
419瀏覽量
26290
發布評論請先 登錄
相關推薦
VISUAL C++ MFC編程實例
VISUAL C++ MFC編程實例:用Visual C++ 和M F C創建的應用程序大多會自動生成窗口,并且可以處理消息,進行繪圖。M
發表于 07-12 15:20
?0次下載
C語言與MATLAB接口編程與實例
本書以簡潔的語言、豐富的實例系統地介紹了C語言與 MATLAB 接口函數(稱之為:C-MEX函數)的編程方法。用實例詳細地介紹了MATLAB
發表于 08-08 11:23
?0次下載

python串口編程實例
和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起。下面我們來看看python串口編程實例吧。
發表于 01-15 09:35
?4.7w次閱讀
The MySQL C API 編程實例
在網上找了一些MYSQL C API編程的文章,如《The MySQL C API 編程實例》,看了后覺得還是寫的不夠充分,根據自己經驗又擴
發表于 04-13 15:01
?5次下載
評論