10.6水题随感

虽然我就只有一个粉丝酱紫

但是我这个人护粉丝

假期还没完



气呼呼.jpg

先写两道,今天写到英文试水题了,我加速一会儿可能还会更

HDOJ 2011 这道题主要是C语言的格式要求非常严格。GCC才过,这里做个标记,需要请教老师。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int m;
	while(scanf("%d",&m)!=EOF)
	{
    	int a[m],i=0;
    	for(i=0;i<m;i++)
    	{
        	float sum=0,j=0;
        	scanf("%d",&a[i]);
        	for(j=1;j<=a[i];j++)
        	{
            	int h=(int)j;
            	if(h%2==1)
            	{
                	sum+=(1/j);
            	}
            	else
            	{
                	sum-=(1/j);
            	}
        	}
        	printf("%.2f\n",sum);
    	}
	}
	return 0;
}

以上代码C提交的结果是
在这里插入图片描述

HDOJ 2039 震惊?蜜汁WA重出江湖???改了之后又WA了一次,原因竟是??? AJY:畜生!

这里给出的是第一次的WA代码,写的很复杂,不说对错,就有很多可以优化的地方,

大佬们

欢迎互动呀

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int m;
	while(scanf("%d",&m)!=EOF)
	{
    	int i;
    	for(i=0;i<m;i++)
    	{
        	int a=0,b=0,c=0;
        	scanf("%d%d%d",&a,&b,&c);
        	if(a+b>c && a+c>b && b+c>a)
        	{
            	if(abs(a-c)<b && abs(a-b)<c && abs(b-c)<a)
            	{
                	printf("YES\n");
            	}
            	else
            	{
                	printf("NO\n");
            	}
        	}
        	else
        	{
            	printf("NO\n");
        	}
        	if(i==m-1)
        	{
            	return 0;
        	}
    	}
	}
	return 0;
}

还是没有认真审题,说白了就是不会 (典出:哪位大佬曾经说过,这题我没看到balabalabala……说白了你就是不会)

emmmm这题需要考虑他给的是

正数

没有说是

正整数

改了之后又WA了一次,原因竟是???

没有注意到定义的浮点型变量要用对应的格式化占位符

另外这道题还有一个小问题,只判断两边之和大于第三边能否保证三角形一定可以形成

求证

英文题试水第一发

简直了!
直了!
了!

我!@#%!%!#%……

没错

HDOJ 1720

题面很简单,我先说说我的想法,首先我不知道他给的十六进制数是不是一位数,又因为十六进制数包含ABCDEF所以我想当了输入必须是字符串接。然后就是十六进制转化为十进制,这儿的第一个问题是怎么确定每个数的对应的位,我用了栈的思想,倒着来确定,(嗯,我就是这么机智)然后就是转化,转化也没啥问题,完了就是加和输出结果

我最大的疑问就是开头的字符串输入,别的没啥问题今天,代码已经写出来了,本地测试还不对,一开始输出结果一直是0。修改后有一点点飘,第一组测试数据不对,别的还行。(这次修改了if判断中的0)

现在对了,第二次修改的问题出在第二个数的数据转化上……现在去提交试试,小紧张……

WA了,问题还不知道在哪,难受……

我没有再检查代码,我现在想,这题要是非说有什么想法上的问题,那确实还有一个,那就是位不够,我表示了10个位,然后我觉得够大了……
奉上垃圾代码

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
	char a[]={'0','0','0','0','0','0','0','0','0','0'},b[]={'0','0','0','0','0','0','0','0','0','0'},e[10],f[10];
	while(scanf("%s %s",a,b)!=EOF)
	{
    	int c=0,d=0,i=0,j1=0,j2=0,one1=0,one2=0,o1=0,o2=0,sum1=0,sum2=0;
    	for(i=0;i<10;i++)
    	{
        	e[i]=a[9-i];
        	f[i]=b[9-i];
        	if(e[i]!='0')
        	{
            	one1+=1;
        	}
        	if(one1==1)
        	{
            	o1=i;
        	}
        	if(f[i]!='0')
        	{
            	one2+=1;
        	}
        	if(one2==1)
        	{
           		o2=i;
        	}
    	}
    	int zhishu=0;
    	for(j1=o1;j1<10;j1++)
    	{
        	if(e[j1]<=57 && e[j1]>=48)
        	{
            	sum1=sum1+(e[j1]-48)*pow(16,zhishu);
            	zhishu=zhishu+1;
            	continue;
        	}
        	if(e[j1]=='A' || e[j1]=='a')
        	{
            	sum1=sum1+10*pow(16,zhishu);
            	zhishu=zhishu+1;
            	continue;
        	}
        	if(e[j1]=='B' || e[j1]=='b')
        	{
            	sum1=sum1+11*pow(16,zhishu);
            	zhishu=zhishu+1;
            	continue;
        	}
        	if(e[j1]=='C' || e[j1]=='c')
        	{
            	sum1=sum1+12*pow(16,zhishu);
            	zhishu=zhishu+1;
            	continue;
        	}
        	if(e[j1]=='D' || e[j1]=='d')
        	{
            	sum1=sum1+13*pow(16,zhishu);
            	zhishu=zhishu+1;
            	continue;
        	}
        	if(e[j1]=='E' || e[j1]=='e')
        	{
            	sum1=sum1+14*pow(16,zhishu);
            	zhishu=zhishu+1;
            	continue;
        	}
        	if(e[j1]=='F' || e[j1]=='f')
        	{
            	sum1=sum1+15*pow(16,zhishu);
            	zhishu=zhishu+1;
            	continue;
        	}
    	}
    	int zhishu2=0;
    	for(j2=o2;j2<10;j2++)
    	{
        	if(f[j2]<=57 && f[j2]>=48)
        	{
            	sum2=sum2+(f[j2]-48)*pow(16,zhishu2);
            	zhishu2=zhishu2+1;
            	continue;
        	}
        	if(f[j2]=='A' || f[j2]=='a')
        	{
            	sum2=sum2+10*pow(16,zhishu2);
            	zhishu2=zhishu2+1;
            	continue;
        	}
        	if(f[j2]=='B' || f[j2]=='b')
        	{
            	sum2=sum2+11*pow(16,zhishu2);
            	zhishu2=zhishu2+1;
            	continue;
        	}
        	if(f[j2]=='C' || f[j2]=='c')
        	{
            	sum2=sum2+12*pow(16,zhishu2);
            	zhishu2=zhishu2+1;
            	continue;
        	}
        	if(f[j2]=='D' || f[j2]=='d')
        	{
            	sum2=sum2+13*pow(16,zhishu2);
            	zhishu2=zhishu2+1;
            	continue;
        	}
        	if(f[j2]=='E' || f[j2]=='e')
        	{
            	sum2=sum2+14*pow(16,zhishu2);
            	zhishu2=zhishu2+1;
            	continue;
        	}
        	if(f[j2]=='F' || f[j2]=='f')
        	{
            	sum2=sum2+15*pow(16,zhishu2);
            	zhishu2=zhishu2+1;
            	continue;
        	}
    	}
    	int sum=0;
    	sum=sum1+sum2;
    	printf("%d\n",sum);
	}
	return 0;
}

今天找问题学习学习,另外学姐说我不懂数组,我还要去看看CPP,然后

我需要个妹子
安慰

一下

emmmmmmmmmmmmmmmmmmmmm

HDOJ1720 确实需要仔细看看书
水题一道

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a,b;
	while(scanf("%x%x",&a,&b)!=EOF)
	{
		int c=a+b;
		printf("%d\n",c);
	}
	return 0;
}

这题要说有什么总结经验
一方面是 %x 另一方面是经常去网上搜搜答案吧……能看出自己的许多问题

猜你喜欢

转载自blog.csdn.net/qq_43261873/article/details/82950916