标题:[求助]ACM问题
只看楼主
YANGDAN123
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-1-16
 问题点数:0 回复次数:1 
[求助]ACM问题

问题:http://acm.hrbeu.edu.cn/Problems.php?id=1047&set=1
我做的前一个程序对,两个加一起就做不出来了!帮忙看看提提意见啊!
#include<stdio.h>
#include<math.h>
int weishu(char a[])
{int *p,i=0,j=0,m,n;
for(p=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='=')
m=i;
if(*(a+i)=='v')
n=j;
}
return j-m-2;
}
double sum(char a[])
{int *i_pointer2,*i_pointer3,i=0,j=0,t=0,c;
int m,n;
double total=0,total1=0;
for(i_pointer2=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='.')
m=i;
if(*(a+j)=='v'&&*(a+j-1)!='0')
{n=j;c=j-m-1;}
}
while(t<=c+2)
{total=total+(a[j-2]-48)*pow(10,-c);
j--;c--;t++;
}
i=0;j=0;t=0;
for(i_pointer3=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='=')
m=i;
if(*(a+j)=='.')
{n=j;c=j-m-2;break;}
}
while(t<=c)
{total1=total1+(a[j-1]-48)*pow(10,t);
j--;t++;
}

return (total+total1);
}
int sum1(char a[])
{int *i_pointer1,i=0,sum=0,j=0;
for(i_pointer1=a;*(a+i)!='\0';i++)
{if(*(a+i)=='v')
while(j<weishu(a))
{sum=sum+(a[i-1]-48)*pow(10,j);
i--;j++;
}
}
return sum;
}
main()
{char a[100];
int *p,i=0;
double result,result1;
clrscr();
gets(a);
for(p=a;*(a+i)!='\0';i++)
{ if(*(a+i)=='.')
{result1=sum(a);break;}
if(*(a+i)=='v')
result1=sum1(a);
}
printf("%f",result1);
getch();
return 0;
}
第二个程序:
#include<stdio.h>
#include<math.h>
int weishu(char a[])
{int *p,i=0,j=0,m,n;
for(p=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='=')
m=i;
if(*(a+i)=='v')
n=j;
}
return j-m-2;
}
int weishu2(char a[])
{int *p,i=0,j=0,m,n;
for(p=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='=')
m=i;
if(*(a+i)=='a')
n=j;
}
return j-m-2;
}
double sum2(char a[])
{int *i_pointer2,*i_pointer3,i=0,j=0,t=0,c;
int m,n;
double total=0,total1=0;
for(i_pointer2=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='.')
m=i;
if(*(a+j)=='a')
{n=j;c=j-m-1;}
}
while(t<=c+2)
{total=total+(a[j-2]-48)*pow(10,-c);
j--;c--;t++;
}
i=0;j=0;t=0;
for(i_pointer3=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='=')
m=i;
if(*(a+j)=='.')
{n=j;c=j-m-2;break;}
}
while(t<=c)
{total1=total1+(a[j-1]-48)*pow(10,t);
j--;t++;
}

return (total+total1);
}
int sum3(char a[])
{int *i_pointer1,i=0,sum=0,j=0;
for(i_pointer1=a;*(a+i)!='\0';i++)
{if(*(a+i)=='a')
while(j<weishu2(a))
{sum=sum+(a[i-1]-48)*pow(10,j);
i--;j++;
}
}
return sum;
}
double sum(char a[])
{int *i_pointer2,*i_pointer3,i=0,j=0,t=0,c;
int m,n;
double total=0,total1=0;
for(i_pointer2=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='.')
m=i;
if(*(a+j)=='v')
{n=j;c=j-m-1;}
}
while(t<=c+2)
{total=total+(a[j-2]-48)*pow(10,-c);
j--;c--;t++;
}
i=0;j=0;t=0;
for(i_pointer3=a;*(a+i)!='\0';i++,j++)
{if(*(a+i)=='=')
m=i;
if(*(a+j)=='.')
{n=j;c=j-m-2;break;}
}
while(t<=c)
{total1=total1+(a[j-1]-48)*pow(10,t);
j--;t++;
}

return (total+total1);
}
int sum1(char a[])
{int *i_pointer1,i=0,sum=0,j=0;
for(i_pointer1=a;*(a+i)!='\0';i++)
{if(*(a+i)=='v')
while(j<weishu(a))
{sum=sum+(a[i-1]-48)*pow(10,j);
i--;j++;
}
}
return sum;
}
main()
{char a[100];
int *p,i=0;
double result,result1;
clrscr();
gets(a);
for(p=a;*(a+i)!='\0';i++)
{ if(*(a+i)=='.')
{result1=sum(a);break;}
if(*(a+i)=='v')
result1=sum1(a);
}
i=0;
for(p=a;*(a+i)!='\0';i++)
{ if(*(a+i)=='.')
{result=sum2(a);break;}
if(*(a+i)=='a')
result=sum3(a);
}
printf("%f %f",result1,result);
getch();
return 0;
}

搜索更多相关主题的帖子: ACM int include php 
2007-06-15 14:44
YANGDAN123
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-1-16
得分:0 

没有人理我啊,55555555555555555555555555555555555


我将用我全部的时间去寻找我生命和灵魂的唯一伴侣,得之,我幸,不得,我命。
2007-06-16 19:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-147724-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.099991 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved