1
自己写的时候忘记定义a的取值范围,然后d没注意放在外面导致后面的测试结果错误
#include<stdio.h>
int main()
{
int a,b,c,d;
while(scanf("%d",&a)!=EOF&&(a>=1)&&(a<=100))
{
d=0;
if(a==0) return 0;
for(b=0;b<a;b++)
{
scanf("%d",&c);
if(c%2==0) ;
else d=d+1;
}
printf("%d\n",d);
}
}
2
大致模板和1差不多,然后用来加的那个数要先定为0
#include<stdio.h>
int main()
{
int a,b,c,d;
while(scanf("%d",&a)!=EOF&&(a>=1)&&(a<=100))
{
if(a==0) return 0; d=0;
for(b=0;b<a;b++)
{
scanf("%d",&c);
if(c%2==0) d=d+c;
else ;
}
printf("%d\n",d);
}
}
3
模板还是一样。。。那个回车确实坑了我一下,不过后来想起来了,还有不能用除法算斜率
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,g,h;
while(scanf("%d",&a)!=EOF)
{
if(a==0) return 0;
for(b=0;b<a;b++)
{
scanf("%d %d",&c,&d);
getchar();
scanf("%d %d",&e,&f);
getchar();
scanf("%d %d",&g,&h);
getchar();
if((c-e)*(f-h)==(e-g)*(d-f)) printf("Yes\n");
else printf("No\n");
}
}
}
4 青蛙王子
这个考虑的条件有很多。。还有不能%0
#include <stdio.h>
int main()
{
int a,b,c,d,e;
while(scanf("%d %d %d",&a,&b,&c))
{
if(a==0&&b==0&&c==0) return 0;
if(a==0&&b==0&&c!=0) printf("No\n");
if(a==0&&b!=0||b==0&&a!=0)
{
if(c%(a+b)==0) printf("Yes\n");
else printf("No\n");
}
if(a!=0&&b!=0)
{
d=a;
a>b?:(a=b,b=d);
do{
e=a%b;
a=b;
b=e;
}while(e!=0);
if(c%a==0) printf("Yes\n");
else printf("No\n");
}
}
}
int main()
{
int a,b,c,d,e,f;
while(scanf("%d",&a)!=EOF)
{
if(a==0) return 0;
for(b=0;b<a;b++)
{
scanf("%d %d %d",&c,&d,&e);
if(c==0&&d==0) printf("INF\n");
else if(c==0&&d!=0) printf("1\n");
if(c!=0&&d!=0)
{ f=d*d-4*c*e;
if(f>0) printf("2\n");
if(f==0) printf("1\n");
if(f<0) printf("0\n");
}
}
}
}