Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
怎么总是编译错误?#include<stdio.h> #include<string.h> #include<stdlib.h> int gcd(int a,int b)//求最大公约数 { int t; if(a<b) { t=a; a=b; b=t; } if(a%b==0)return b; else return gcd(b,a%b); } int min(int a,int b)//求最小公倍数 { return a*(b/gcd(a,b)); } void bb(char * str,int *n,int *m) { int a,b,c,d,e; char ch; ch=str[3]; a=str[0]-'0'; b=str[2]-'0'; c=str[4]-'0'; d=str[6]-'0'; e=min(b,d); a=a*(e/b); c=c*(e/d); *m=e; if(ch=='+') *n=a+c; if(ch=='-') *n=a-c; return ; } void out(int a,int b) { int c; if(a==0){printf("%d\n",0);return ;} c=gcd(a,b); if(c<0)c=-c; a=a/c; b=b/c; if(a==b){printf("%d\n",1);return ;} if(b==1){printf("%d\n",a);return ;} printf("%d/%d\n",a,b); return ; } int main(void) { char str[20][10]={'\0'}; int a[20]={0},b[20]={0},i=0,n; while(scanf("%s",str[i])!=EOF) { bb(str[i],&a[i],&b[i]); i++; } n=i; for(i=0;i<n;i++) out(a[i],b[i]); return 1; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator