解题思路: 前面两家孩子成绩只有一种取法,因此只需要判断前面两家孩子中是否有最后一名,如果没有就第三家存在最后一名。
注意事项: 初学者,大神勿喷!-_-!有简单的代码的请不吝赐教,谢谢!
参考代码: #include<stdio.h> #include"math.h" int main() { int L[3],W[3],i,j,sum=0,average,flag=0; L[0]=9; W[0]=8; for(i=9;i>0;i--) sum+=i; average=sum/3; for(L[1]=1;L[1]<average-L[0];L[1]++) { L[2]=average-L[0]-L[1]; if(fabs(L[1]-L[2])>1) { for(W[1]=1;W[1]<average-W[0];W[1]++) { if(W[1]!=L[1]&&W[1]!=L[2]) { W[2]=average-W[0]-W[1]; if(fabs(W[1]-W[2])>1) { if(W[2]!=L[1]&&W[2]!=L[2]) { for(j=0;j<3;j++) { if(L[j]==1) {flag=1;printf("L\n");break;} if(W[j]==1) {flag=1;printf("W\n");break;} } } } } if(flag==1) break; } } if(flag==1) break; } if(flag==0) printf("Z\n"); return 0; }
0.0分
4 人评分
#include<stdio.h> int main() { int a[3],b[3],c[3],i; c[0]=9; b[0]=8; a[0]=7; if(c[0]==9&&a[1]!=6) { b[1]=6; b[2]=1; printf("W"); } }
#include <stdio.h> int main() { int a,b,c,d; for(a=1;a<6;a++) for(b=1;b<6;b++) for(c=1;c<7;c++) for(d=1;d<7;d++) if(a+b==6&&c+d==7&&a!=c&&a-1>b&&c-1>d&&b!=d) { if(a==1||b==1) printf("L"); else if(c==1||d==1) printf("W"); else printf("Z"); } return 0; }
渐入佳境. 2021-03-26 14:50:04 |
可以讲一下你的思路吗,谢谢~