1 2 3 4 5 6 7 8 9 10 11 12 13 | #include<stdio.h> #define MAXN 100 + 10 int a[MAXN]; int main() { int i, x, n = 0; while(scanf("%d", &x) == 1) a[n++] = x; for(i = n-1; i >= 1; i--) printf("%d ", a[i]); printf("%d\n", a[0]); return 0; } |
strchr函数返回一个指向str 中ch 首次出现的位置,当没有在str 中找ch到返回NULL。
如果strchr(s, buf[i]) == NULL 成立,表示在字符s中,不存在字符buf[i]。
将整数转换成字符串,然后利用字符串丰富的库函数,可以大大简化问题的解决。
如何将整数转化成字符串,使用 sprintf 语句。第13行就是完成转化任务的。
第41页 最长回文字符串
对于这道题的要求,可以降低一下,只需要输出最长的字符串的长度就可以了。
怎么样找出所有的子串,可以参考第7章 暴力求解法 7.1.2 最大乘积, 第117页。
子串都有起点和终点,只需枚举每个子串的起点和终点即可。