1.
给你n个数,请输出其中奇数的个数。
输入
有多组样例,第一行是一个整数N(1<=N<=100),表示有多少个数,如果N为0则表示输入结束。第二行是N个整数,每个整数之间用一个空格隔开。
输出
每行输出一个样例的结果,即奇数的数目。
这个题主要是数组结合判断,就是那个s=0;放在while()里面
int main()
{
int i,n;
int a[101];
{
if(n==0)
return 0;
int s=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]%2==1)
s++;
}
printf("%d\n",s);
}
}
2.
给你两个闭区间,请判断这两个区间是否相交。
输入
有多组样例,第一行是一个整数N(1<=N<=100),表示有多少个样例。每个样例占两行,每行是两个整数,X,Y(0<=X<=Y<=1000),表示闭区间[X,Y]。
输出
每行输出一个样例的结果,如果相交,那么输出“Yes”,否则输出“No”。
int main()
{
int i,n;
int x1,y1,x2,y2;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d",&x1,&y1);
scanf("%d%d",&x2,&y2);
if((x2>=x1&&x2<=y1)||(y2>=x1&&y2<=y1)||(x1>=x2&&x1<=y2)||(y1>=x2&&y1<=y2))
printf("Yes\n");
else
printf("No\n");
}
}
一个整数各个数码的平方和的个位数称为它的分类值。给你一个区间[a,b],和一个数码n,请求这个区间内多少数的分类值为n。
输入
第一行是一个整数K,表示样例的个数。每个样例占一行,为三个整数a,b,n(1<=a<=b<=100,000,0<=n<=9)。
输出
每行输出一个样例的结果。
con %= 10;
x/=10;
int main()
{
int i,out[100001];
int m,a,b,n;
for(i=1;i<=100000;i++)
{
int con=0;
int x = i;
while(x)
{
con += (x%10)*(x%10);
con %= 10;
x/=10;
}
out[i]=con;
}
scanf("%d",&m);
while(m--)
{
int s=0;
scanf("%d%d%d",&a,&b,&n);
for(i=a;i<=b;i++)
{
if(out[i]==n)
s++;
}
printf("%d\n",s);
}
}
给你n个数,请输出其中偶数的累加和。
输入
有多组样例,第一行是一个整数N(1<=N<=100),表示有多少个数,如果N为0则表示输入结束。第二行是N个整数,每个整数之间用一个空格隔开。
输出
每行输出一个样例的结果,即偶数的累加和。(输入保证结果可以用32bit的int表示)。
int main()
{
int i,n;
int a[101];
while(scanf("%d",&n))
{
int s=0;
if(n==0)
return 0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]%2==0)
s+=a[i];
}
printf("%d\n",s);
}
}
给你平面上三个点的坐标,请判断三点是否共线。
输入
有多组样例,第一行是一个整数N(1<=N<=100),表示有多少个样例。每个样例占三行,每行是两个整数,X,Y(-1000<=X,Y<=1000),表示一个点的坐标。
输出
每行输出一个样例的结果,如果三点共线,那么输出“Yes”,否则输出“No”。
int main()
{
int n;
int x1,y1,x2,y2,x3,y3;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&x1,&y1);
scanf("%d%d",&x2,&y2);
scanf("%d%d",&x3,&y3);
printf("Yes\n");
else
printf("No\n");
}