在众多高手的指导下终于修改出了四阶行列式的部分,虽然形式上还是原始了一点,但是它至少能动了,而且还能算!因为设置了w<10000所以某种程度上跟永久循环估计差不多。
#include
int F(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9) { int outcome = 0; //scanf(/*" % d % d % d % d % d % d % d % d % d",*/ &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9); outcome = a1 * a5 * a9 + a3 * a4 * a8 + a2 * a6 * a7 - a3 * a5 * a7 - a1 * a6 * a8 - a2 * a4 * a9; //printf("%d\n", outcome); return outcome; } int main() { int w = 0; while (w < 10000) { int a1 = 0; int a2 = 0; int a3 = 0; int a4 = 0; int a5 = 0; int a6 = 0; int a7 = 0; int a8 = 0; int a9 = 0; int outcome = 0; printf("请输入所求行列式阶数"); int i = 0; scanf("%d", &i); if (i < 4) { printf("现在是三阶行列式时间\n"); scanf("%d""%d""%d""%d""%d""%d""%d""%d""%d", &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9); outcome = a1 * a5 * a9 + a3 * a4 * a8 + a2 * a6 * a7 - a3 * a5 * a7 - a1 * a6 * a8 - a2 * a4 * a9; printf("行列式=%d\n", outcome); system("PAUSE"); } else { printf("太难了,自己算吧\n开玩笑的,现在是四阶行列式时间\n"); int arr[17] = { 0 }; int Final = 0; /*int a1 = 0; int a2 = 0; int a3 = 0; int a4 = 0; int a5 = 0; int a6 = 0; int a7 = 0; int a8 = 0; int a9 = 0; int outcome = 0; */ scanf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", &arr[1], &arr[2], &arr[3], &arr[4], &arr[5], &arr[6], &arr[7], &arr[8], &arr[9], &arr[10], &arr[11], &arr[12], &arr[13], &arr[14], &arr[15], &arr[16]); int sum1 = F(arr[6], arr[7], arr[8], arr[10], arr[11], arr[12], arr[14], arr[15], arr[16]); int sum2 = -F(arr[5], arr[7], arr[8], arr[9], arr[11], arr[12], arr[13], arr[15], arr[16]); int sum3 = F(arr[5], arr[6], arr[8], arr[9], arr[10], arr[12], arr[13], arr[14], arr[16]); int sum4 = -F(arr[5], arr[6], arr[7], arr[9], arr[10], arr[11], arr[13], arr[14], arr[15]); Final = arr[1] * sum1 + arr[2] * sum2 + arr[3] * sum3 + arr[4] * sum4; printf("四阶行列式=%d\n", Final); system("PAUSE"); } } return 0; }
我的评价是,完美!
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229887.html原文链接:https://javaforall.net
