C语言——高手请进

2024-11-29 21:49:54
推荐回答(4个)
回答1:

太牛的程序了
++1你仔细找一下,你的程序中有一个++1的地方,这里有问题,不能对常量使用自加运算符,所以错了。
for(scanf("%d", &s);*a-s;v=a[j*=v]-a[i],k=i (v=j l^j)&1:2])&&++1||a[i] l%=s),v||(i==j?a[i+=k]=0:++a[i])>=s*k&&++a[--i])

回答2:

这是著名的“八皇后问题”,这个C语言程序是由Doron OsovlanskiBaruch Nissenbaum共同编写的,其功能是打印出八皇后问题(此问题要求在一个棋盘放置八个皇后,使得皇后之间不会出现互相“攻击”的局面)的全部解决方案,事实上,此程序可用于求解皇后数量4~99范围内的全部问题,此程序获得了国际模糊C代码大赛1991年“最佳小程序”奖,以下为源码:

#include 

int v, i, j, k, l, s, a[99];
int main()
{   
    for (scanf("%d", &s); *a - s; v = a[j *= v] - a[i], k = i < s, j += (v = j < s && (!k && !!printf(2 + "\n\n%c" - (!l << !j), " #Q"[l ^ v ? (l ^ j) & 1 : 2]) && ++l || a[i] < s && v && v - i + j && v + i - j)) && !(l %= s), v || (i == j ? a[i += k] = 0 : ++a[i]) >= s * k && ++a[--i])
    ;
}

回答3:

把for循环区域中的第三行的++1改正就没有语法错误了.

回答4:

老兄,这个程序是你写的吗?
老实说,可读性,几乎没有!
首先几个预先用到的变量没有初始化,,然后我就看不下去了。。。>_