还是不行啊,得出的结果仍然是2
下面是整个程序
#define M 100
int cz(char v[],int n)
{/*int r[3]={0,0,0};
int k;
for(k=0;k<M;k++)
{if(v[k]>=97&&v[k]<=122)r[0]++;
if(v[k]>=65&&v[k]<=90)r[1]++;
if(v[k]>=48&&v[k]<=57)r[2]++;
}*/
int r[3]={9,8,7};
return(r[n]);
}
int bj(int s[])
{int k,max,j=0;
max=s[0];
for(k=1;k<3;k++)
if(s[k]>max)
{j=k;
max=s[k];
}
return j;
}
main()
{char v[M];
int i,j;
int s[3];
for(i=0;i<M;i++)
scanf("%c",&v[i]);
for(i=0;i<3;i++)
{s[i]=cz(v[M],i);
printf("%d ",s[i]);
getch();
}
j=bj(s[3]);
printf("%d\n",j);
getch();
for(i=0;i<M;i++)
{if(j==0)
{if(v[i]>=97&&v[i]<=122)v[i]=219-v[i];
if(v[i]>=65&&v[i]<=90)v[i]=155-v[i];
if(v[i]>=48&&v[i]<=57)v[i]=105-v[i];
}
if(j==1)
{if(v[i]>=97&&v[i]<=122)v[i]=187-v[i];
else if(v[i]>=65&&v[i]<=90)v[i]=187-v[i];
else if(v[i]>=48&&v[i]<=56)v[i]++;
else if(v[i]==57)v[i]=48;
}
if(j==2)
{if(v[i]>=97&&v[i]<=122)v[i]=v[i]-32;
else if(v[i]>=65&&v[i]<=90)v[i]=v[i]+32;
else if(v[i]>=48&&v[i]<=55)v[i]=v[i]+2;
else if(v[i]==56)v[i]=48;
else if(v[i]==57)v[i]=49;
}
printf("%c",v[i]);
getch();
}
}