给你代码:
#include
#include
#include
using namespace std;
char str[111];//输入的整数,用字符串保存
int c[10];//各个数字的个数
int main()
{
while(scanf("%s",str)!=EOF)
{
int i,j,k,n;
n=strlen(str);
memset(c,0,sizeof(c));//清空
for(i=0;iint minv=11,maxv=-1,maxnum=-1,sum=0;
for(i=0;i<=8;i+=2)
{
if(c[i]!=0)
{
sum++;
minv=min(minv,i);
maxv=max(minv,i);
maxnum=max(maxnum,c[i]);
}
}
if(maxv==-1){printf("不存在偶数\n");continue;}
printf("偶数个数为%d,最大的是%d,最小的是%d,频率最高的是",sum,maxv,minv);
for(i=0;i<=8;i+=2)if(c[i]==maxnum)printf("%d",i);
printf("\n");
//printf("%d %d %d %d\n",sum,maxv,minv,maxnum);
}
return 0;
}
#include
#include
#define N 50
void main()
{
char a[N];
int n[5]={0};
int b[5]={0,2,4,6,8};
int temp,temp1,i,j;
scanf("%s",a);
int length=strlen(a);
for(int i=0;i { temp=a[i]-'0'; if(temp%2==0) for(j=0;j<5;j++) if(temp/2==j) n[j]+=1; } for(i=0;i<5-1;i++) for(j=i+1;j<5;j++) { if(n[i] { temp=n[i]; n[i]=n[j]; n[j]=temp; temp=b[i]; b[i]=b[j]; b[j]=temp; } } temp=b[0]; for(i=1;i<5;i++) if(n[0]==n[i]) if(b[0]
{ temp=b[i]; b[i]=b[0]; b[0]=temp; } printf("最大的是%3d\n",b[0]); printf("最小的是"); j=5-1; while(n[j]==0) j--; printf("%3d\n",b[j]); int max=n[0]; printf("频率最高的是%3d",b[0]); for(j=1;j<5;j++) if(n[0]!=n[j]) break; else printf("%3d",b[j]); printf("\n"); }
很简单用一个一维数组record[10]来保存数字0-9的存现次数,然后统计频率和出现次数
#include
#include
#include
int main()
{
int record[10]; //保存0-9出现次数
char sInput[256]; //输入字符
int i,j, m, n, mt, t;
memset(sInput, 0, sizeof(sInput));
for (i=0; i
j = sInput[i] - '0';
record[j] += 1;
}
//统计最大值m,最小值n,次数t,最大频率mt
t = record[0] + record[2] + record[4] + record[6] + record[8];
m = 0, n = 0, mt = 0;
for (i=0; i<10; i=i+2)
{
if (record[i]==0) continue; // 未出现
if (i>m) m=i;
if (i
}
//输出结果
printf("不同偶数个数:%d\n",t);
printf("最大的偶数:%d\n", m);
printf("最小的偶数:%d\n", n);
printf("频率最大的偶数:");
for (i=0; i<10; i=i+2)
{
if (record[i]==mt) printf("%d", i);
}
if (mt==0) printf("NA");
printf("\n");
}
#include
#include
int main(){
int a[100];
int i=0;
int max=0,min=8,k=0;
int count[11]={0};
while((a[i]=getchar())!=10){
a[i]=a[i]-48;
if((a[i]/2)!=0 && a[i]!=1){
count[a[i]]++;
max=max>a[i]?max:a[i];
min=min }
i++;
}
for(i=0;i<10;i++)
k=k>count[i]?k:count[i];
printf("%d %d %d",max,min,k);
return 0;
}