2010-11-12 23:53:06
题目地址:http://acm.fzu.edu.cn/problem.php?pid=1475
这道题让我一次性AC了,但尽管如此,也让我学到了一点,那就是如何将calloc函数的返回值强制转换成指向一维数组的方法!!
(*^__^*) 嘻嘻…… 是好心的网友教会我的~~~
#include<stdio.h>
#include<malloc.h>
#include<string.h>
int n,i,j,flag;
char (*p)[21],str[21];
int main()
{
while(scanf("%d",&n)!=EOF)
{
p=(char (*)[21]) calloc(n,sizeof(char)*21);
flag=0; *(*(p+0)+0)='/0';
for(i=0;i<n;i++)
{
scanf("%s",str);
strcpy(str,strlwr(str));
for(j=0;j<flag;j++)
if(strcmp(*(p+j),str)==0) break;
if(j==flag) {strcpy(*(p+flag),str); flag++;}
}
printf("%d/n",flag);
}
return 0;
}
发现c语言语法,还有很多没有掌握的,特别是指针这部分,并且库函数里的函数也要多加了解并会熟练使用!!!!