70,023
社区成员




#include <stdio.h>
#include <stdlib.h>
int a[30000];
int cmp(const void *pa, const void *pb){
return *(int*)pa - *(int*)pb;
}
int main()
{
int m = 0;
for(; ; ++m){
scanf("%d", &a[m]);
if(a[m] == 0) break;
}
qsort(a, m, sizeof(int), cmp);
printf("%d", a[0]);
for(int i = 1; i < m; ++i){
if(a[i] > a[i-1]) printf(" %d", a[i]);
}
putchar('\n');
return 0;
}
#include<stdio.h>
int a[300000001];
int main()
{
int m,max = 0,i;//max要初始化。。
for(i=0;;i++)
{
scanf("%d",&m);
if(m==0) break;
a[m]++;
if(m>max) max=m;
}
for(i=0;i<=max;i++)
{
if(a[i]>0)
{
printf("%d ",i);
}
}
printf("\n");
return 0;
}
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int StrToInt(const char* str)
{
int length, sign, i, j;
unsigned num = 0;
while (*str) {
if (isspace(*str))
++str;
else
break;
}
if ('\0' == *str)
return 0;
if (isdigit(*str))
sign = 0;
else if ('+' == *str)
sign = 0, ++str;
else if ('-' == *str)
sign = 1, ++str;
else
return 0;
length = strlen(str);
if (0 == length)
return 0;
for (i = 0, j = 1; i < length - 1; ++i)
j *= 10;
for (i = 0; i < length; ++i, j /= 10) {
if (!isdigit(str[i])) {
num /= j * 10;
break;
}
num += (str[i] - '0') * j;
}
if (sign) {
if (num > 0x80000000u)
num = 0x80000000u;
} else {
if (num > 0x7FFFFFFFu)
num = 0x7FFFFFFFu;
}
return sign ? -1 * num : num;
}
通过了。