最近一直在刷杭电oj 自己真的好菜aaa 写了很久很久才做出二十几道题
代码写到现在了 很烦 不过今天还是有收获的 比如..
记住了double float类型都是有精度的 比较两个数大小不能用double double的精度只有15位 是写杭电oj2054的时候记住的 印象深刻 非常深刻了 一开始用int错了float错了double错了 对着例题的输入输出看了很久一直不明白自己为什么错了凭什么错了一直wa 那题看了一下午加晚上...最后还是在网上看了别人的思路自己才勉强a掉
比较两个数大小最好用字符串吧 嘻嘻 像这样
#include<stdio.h>
#include<string.h>
#define N 100000
void main()
{
int i;
char A[N],B[N];
int lena,lenb;
while(scanf("%s%s",A,B)!=EOF)
{
lena=strlen(A);
lenb=strlen(B);
for(i=0;i<lena;i++)
{
if(A[i]=='.')//如果A是小数
{
while(A[lena-1]=='0')
{
A[lena-1]='\0';
lena--;
}
if(A[lena-1]=='.')
A[lena-1]='\0';
}
}
for(i=0;i<lenb;i++)
{
if(B[i]=='.')//如果B是小数
{
while(B[lenb-1]=='0')
{
B[lenb-1]='\0';
lenb--;
}
if(B[lenb-1]=='.')
B[lenb-1]='\0';
}
}
if(strcmp(A,B)==0)
printf("YES\n");
else
printf("NO\n");
}
}
不知道有没有更好的方法
还有c语言学久了竟然都不会判断素数了aaa 果然还是要加强下基础!