c语言高手救我!

咱支持世界杯,试着编了个程序。能运行,但结果老错。算积分什么的都没错,就是最后排名次老错。帮忙看看咋回事,解决了我加悬赏!
int JiaFen(int,int,int);
int A,B,C,D;

main()
{
int ab,ba,ac,ca,ad,da,bc,cb,bd,db,cd,dc;
int As,Bs,Cs,Ds,Aj,Bj,Cj,Dj;
clrscr();
printf("ShuRuBiFen:\n");
getch();
printf("A vs B : ");
scanf("%d:%d",&ab,&ba);
A=JiaFen(A,ab,ba);
B=JiaFen(B,ba,ab);
printf("A vs C : ");
scanf("%d:%d",&ac,&ca);
A=JiaFen(A,ac,ca);
C=JiaFen(C,ca,ac);
printf("A vs D : ");
scanf("%d:%d",&ad,&da);
A=JiaFen(A,ad,da);
D=JiaFen(D,da,ad);
printf("B vs C : ");
scanf("%d:%d",&bc,&cb);
B=JiaFen(B,bc,cb);
C=JiaFen(C,cb,bc);
printf("B vs D : ");
scanf("%d:%d",&bd,&db);
B=JiaFen(B,bd,db);
D=JiaFen(D,db,bd);
printf("C vs D : ");
scanf("%d:%d",&cd,&dc);
C=JiaFen(C,cd,dc);
D=JiaFen(D,dc,cd);

Aj=ab+ac+ad;
Bj=ba+bc+bd;
Cj=ca+cb+cd;
Dj=da+db+dc;
As=Aj-ba-ca-da;
Bs=Bj-ab-cb-db;
Cs=Cj-ac-bc-dc;
Ds=Dj-ad-bd-cd;

printf(" DeFen JingShengQiu JingQiuShu\n");
printf("A %d %d %d\n",A,As,Aj);
printf("B %d %d %d\n",B,Bs,Bj);
printf("C %d %d %d\n",C,Cs,Cj);
printf("D %d %d %d\n",D,Ds,Dj);

A=A*10000+As*100+Aj;
B=B*10000+Bs*100+Bj;
C=C*10000+Cs*100+Cj;
D=D*10000+Ds*100+Dj;

printf("ChuXian: ");
if(A>B&&A>C||A>B&&A>D||A>C&&A>D)
{ printf("A ");
if(B>C&&B>D)
printf("B\nTaoTai: C D");
else if(C>B&&C>D)
printf("C\nTaoTai: B D");
else
printf("D\nTaoTai: B C");
}
else if(B>C&&B>D)
{ printf("B ");
if(C>D)
printf("C\nTaoTai: A D");
else
printf("D\nTaoTai: A C");
}
else
printf("C D\nTaoTai: A B\n");

getch();
}

int JiaFen(int X,int x,int y)
{ if(x>y)
return X+3;
if(x==y)
return X+1;
return X;
}
对不起,没写注释。函数是用来加分的,就是每场小组赛赢的3分,平的1分,输的没分。但是我打成:int A=0,B=0,C=0,D=0; 还是错。
主程序第一段输入比分(第二段As即净胜球,As即进球数),第三段输出都没问题。就是最后的出线与淘汰出问题,帮忙看看。

int JiaFen(int,int,int);
int A,B,C,D;/*没有初始化*/

main()
{
int ab,ba,ac,ca,ad,da,bc,cb,bd,db,cd,dc;
int As,Bs,Cs,Ds,Aj,Bj,Cj,Dj;
clrscr();
printf("ShuRuBiFen:\n");
getch();
printf("A vs B : ");
scanf("%d:%d",&ab,&ba);
A=JiaFen(A,ab,ba);/*这里调用时A的值是未知的*/
B=JiaFen(B,ba,ab);/*这里的B也一样、、*/
全局变量没有初始化、、、、程序下面的基本也一样、、给个初始化吧、
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-28
老子来救你~~~~~~~~~~~~~~
第2个回答  2010-06-28
晕;;;;
请记住写程序的时候吧没个函数的功能用注释写上
甚至是每行你都写上注释。。。
你这个程序叫人咋看啊。。。。
第3个回答  2010-06-29
确实如果不加注释的话,这么长一个程序,容易让人看着头晕,估计过段时间你自己都不只道这各行要表达的意思。int A,B,C,D;全局全量没有初值。。。

c语言编程,达人救我
可能理解不一样吧,你试试把一次输入多个改为一次一个 int main(){ int n;while(scanf("%d",&n)!=EOF){ if(n>=0&&n<=86399)Dis(n);} return 0;}

C语言初学者!定义一个函数,表示2的乘方,输入一个数字,找出2的乘方大于...
include<stdio.h> int involution(int a){ int s = 1, i;for (i = 1; i <= a; i++)s = s * 2;return s;} void main(){ int a, b, i;while (scanf("%d",&a)==1){ for (i = 0; involution(i) <= a; i++)b = i;printf("%d\\n", b);} } ...

c语言 关于真因子的 问题在哪 怎么做 ?? 大神救我
main() 中:p_factor(\/**\/int a_ \/**\/);改为:p_factor(\/**\/ a \/**\/);

大神 救我吧 acm程序设计作业竟然是“安徽达内杯”大学生程序设计竞赛...
\/\/E题,搬书 include<stdio.h> int books[10000];int m,n,sum,min,i;bool IsAble(int len){ int i,j,tlen;for(i=0,j=0;i<n;++i){ tlen=len;while(j<m&&tlen>=books[j]){ tlen-=books[j];++j;} if(j==m)return true;} return false;} int main(){ scanf("%d %d",...

HELP~~大虾救我~(C语言)
语句 " int *ws=0,*lc=0; " 实质上是将ws 和lc 赋地址 0 ,而不是将 ws,lc 指向的储存单元的值置为0...更正:include "stdio.h"include "stdlib.h"main(){ int get(int *w,int *l);int *ws,*lc; \/*赋值另起一行*\/ ws=0;lc=0;if(get(ws,lc)){ printf("There...

E2prom问题!!!AT24C64!!!~~5555,大侠救我啊。。
~~5555,大侠救我啊。。 20 对于AT24C64,我有两个疑问。一:AT24c64的地址表示是多少?可以像AT24c02那样(地址为0~255)直接表示成(0~256*32即0~8192吗??)也就是在c语言里面可以直接写成read_byte(8100,&... 对于AT24C64,我有两个疑问。一:AT24c64 的地址表示是多少?可以像AT24c02那样(地址为0~255)直接表示...

请问各位大哥啊,在C语言中怎样才可以输入两个数求出它们的积\\商\\和\\...
include <stdio.h> int a,b;int main(){ scanf("%d%d",&a,&b);printf("%d\\n",a+b);printf("%d\\n",a-b);printf("%d\\n",a*b);printf("%d\\n",a\/b);return 0;}

c语言指针含义问题?
10];那你看,类型是不是char*?那么acp就是变量名,也就是说定义了一个指针,名字叫acp,但是!!!后面有方括号10,啥意思--这是一个很平凡的数组,不过数据类型是指针而已!!啊啊啊好累啊,回答不易...呃我要猝死了快救我...赏我点积分,采纳!我就可以康复了!快我快......

用C语言编程,便一个计算器 题为3+5=8
main(){ int a,b,c;a=3;b=5;c=a+b;printf("%d",c);} 已经通过编译了.

C语言windows编程关于float
看不懂wsprintf(buf,"%f",num1);

相似回答