解题思路: 把单词化为数字存入数组
注意事项:只是一种取巧的我自己想到的算法,有很大的漏洞,当实用于一般 的大多数情况
参考代码:
#include<stdio.h>
int main()
{
char s[100];
int a[100]={0},index=0,i,j;
gets(s);//注意又空格符的字符串一般用gets(),其他情况下最好用scanf%s
for(i=0;s[i]!='\0';i++)
{
if(s[i]!=' ')//不是空格就化为整数
{
int k=s[i];
a[index]+=k;
if(s[i+1]==' '||s[i+1]=='\0')//间隔边界,注意最后一个为’\0‘
{
index++;
}
}
}
for(i=0;i<index-1;i++)
{
for(j=i+1;j<index;j++)//进行排序,方便比较
{
if(a[i]>a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
j=0;//计数
for(i=0;i<index;i++)
{
if(a[i]!=a[i+1])
{
j++;
}
}
printf("%d\n",j);
return 0;
}
0.0分
0 人评分