70,034
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int main()
{
int n, d, x;
scanf("%d%d", &n, &d);
for (x = n < 0 ? n = ~n + 1, 0 : n | d ? 0 : 1; n; x += (n % 10) == d, n /= 10);
printf("%d\n", x);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CHAR_TYPES 10
unsigned int g_charnum[MAX_CHAR_TYPES];
int main(int argc, char *argv[])
{
int i = 0;
if(argc <= 1)
{
printf("Usage : ./a.out stringXXXXX\n");
return -1;
}
char *ptmp = argv[1];
int len = strlen(ptmp);
for(i = 0; i < len; i++)
{
if(ptmp[i] >= '0' && ptmp[i] <= '9')
{
g_charnum[ptmp[i] - '0']++;
}
}
for(i = 0; i < MAX_CHAR_TYPES; i++)
{
printf("idx:%d--%d\n", i, g_charnum[i]);
}
return 0;
}
./a.out 0123456789987654321
idx:0--1
idx:1--2
idx:2--2
idx:3--2
idx:4--2
idx:5--2
idx:6--2
idx:7--2
idx:8--2
idx:9--2
以这个代码为准。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CHAR_TYPES 10
unsigned int g_charnum[MAX_CHAR_TYPES];
int main(int argc, char *argv[])
{
int i = 0;
if(argc <= 1)
{
printf("Usage : ./a.out stringXXXXX\n");
return -1;
}
char *ptmp = argv[1];
int len = strlen(ptmp);
for(i = 0; i < len; i++)
{
if(ptmp[i] >= '0' && ptmp[i] <= '9')
{
g_charnum[ptmp[i] - '0']++;
continue;
}
}
for(i = 0; i < MAX_CHAR_TYPES; i++)
{
printf("idx:%d--%d\n", i, g_charnum[i]);
}
return 0;
}
./a.out 0123456789987654321
idx:0--1
idx:1--2
idx:2--2
idx:3--2
idx:4--2
idx:5--2
idx:6--2
idx:7--2
idx:8--2
idx:9--
#include<stdio.h>
int main()
{
char num[100];
char number[10]={0};
int scan_num;
int i=0;
int j=0;
printf("请输如一个整数(小数部分自动忽略):");
scanf("%d",&scan_num);
printf("\n输入的整数为:%d\n\n",scan_num);
if(scan_num<0)
{
scan_num=-scan_num;
}
while(scan_num/10>0)
{
num[i]=scan_num%10;
scan_num=scan_num/10;
i++;
}
num[i]=scan_num;
printf("输入整数的位数为:%d\n\n",i+1);
for(j;j<=i;j++)
{
switch(num[j])
{
case 0:
number[0]++;
break;
case 1:
number[1]++;
break;
case 2:
number[2]++;
break;
case 3:
number[3]++;
break;
case 4:
number[4]++;
break;
case 5:
number[5]++;
break;
case 6:
number[6]++;
break;
case 7:
number[7]++;
break;
case 8:
number[8]++;
break;
case 9:
number[9]++;
break;
default:
break;
}
}
j=0;
for(i=0;i<10;i++)
{
if(j<number[i])
{
j=number[i];
}
}
i=0;
while(i<10)
{
i++;
if(j==number[i-1])
{
printf("出现最多的数字是:%d\t出现了%d次\n\n",i-1,number[i-1]);
}
}
}#include <stdio.h>
int main()
{
char str[100];
int num, digit, i, count = 0;
scanf("%d %d", &num, &digit);
sprintf(str, "%d", num);
for (i = 0; i < 100; i++)
{
if (str[i] == '\0')
break;
if (str[i] == digit + '0')
count++;
}
printf("count=%d\n", count);
return 0;
}#include <stdio.h>
int Count_Digit (int N,int D);
int main()
{
int N, D;
scanf("%d %d", &N, &D);
printf("%d\n", Count_Digit(N, D));
return 0;
}
int Count_Digit (int num, int key )
{
#if 1
int cnt = 0;
if (num < 0)
num = -num;
if (key < 0)
key = -key;
while (num) {
if (num % 10 == key)
cnt++;
num /= 10;
}
return cnt;
#else
int a=1;
int D1=0;
D1=N;
for(;D!=D1;)
{
if(D1>0)
{
if(D==(D1%10))
{
a++;
}
D=(D1/10);
D1=D;
}
else
{
if((-D)==(D1%10))
{
a++;
}
D=-(D1/10);
D1=(-D);
}
}
return a;
#endif
}