2006
思路是建立一个收集整数的数组,然后筛选出其中的奇数,再相乘得出结果。
#include <stdio.h>
int main(void)
{
int ChangDu,i,m,e=1;
while(scanf("%d ",&ChangDu)!=EOF)
{
int ShuZu[ChangDu];
for(i=0;i<ChangDu;i++)
{
scanf("%d ",&ShuZu[i]);
if(ShuZu[i]%2!=0)
{
e*=ShuZu[i];
}
}
printf("%d\n",e);
e=1;//输出完后要规整回1,才能运行下一组。
}
}
2007
思路就是将数段中的奇数和偶数单独找出来,然后按照题目去分别平方和立方。
#include <stdio.h>
int max(int a,int b);
int min(int a,int b);
int main(void)
{
int i,m,a,b,ou,ji,max1,min1;
while(scanf("%d %d",&a,&b)!=EOF)
{
ou=0;
ji=0;
max1=max(a,b);
min1=min(a,b);//找出a,b中大的那个和小的那个。
for(i=min1;i<=max1;i++)
{
if(i%2==0)
{
ou+=i*i;
}
else
{
ji+=i*i*i;
}
}
printf("%d %d\n",ou,ji);
}
}
int max(int a,int b)
{
if(a>b)
{
return a;
}else
{
return b;
}
}
int min(int a,int b)
{
if(a<b)
{
return a;
}else
{
return b;
}
}
2008
建立一个数组储存输入的字母,然后去一个个统计数组中每个元素属于题目的那个。
#include <stdio.h>
int main(void) {
int changdu,i,a,b,c;
while(scanf("%d\n",&changdu)!=EOF)
{ if(changdu==0)
{
return 0;
}
else{
float shuzu[changdu];
a=0;b=0;c=0;
for(i=0;i<changdu;i++)
{
scanf("%f",&shuzu[i]);
if(shuzu[i]==0)
{
a++;
}else if(shuzu[i]<0)
{
b++;
}else{
c++;
}
} printf("%d %d %d\n",b,a,c);
}
} return 0;
}
2009
建立一个数组,包含题目要求的数字a和其题目要求的后b项。然后将数组中所有数相加。
#include <stdio.h>
#include <math.h>
int main(void) {
int b,i;float a,sum=0;
while(scanf("%f %d\n",&a,&b)!=EOF)
{
float shuzu[b];
shuzu[0] = a;
for(i=1;i<b;i++)
{
shuzu[i]=sqrt(shuzu[i-1]);
}for(i=0;i<b;i++)
{
sum=shuzu[i]+sum;
}
printf("%.2f\n",sum);
sum=0;
} return 0;
}
2010
把每个在范围中的数字一个个拆解出它的个位,十位,百位,判断是否满足公式,满足则输出该数。期间有一个计数的符号,如果有一个满足则计数符号就不为0,当运行结束计数符号为0,说明没有,则输出no。期间注意格式,输出的“370 371”独占一行,注意后面的换行符,且371后不能有空格。还是格式有问题可试试看输入
“
100 120
300 380
100 120
300 380
”
#include <stdio.h>
int main(void)
{
int i,a,b;
while(scanf("%d %d",&a,&b)!=EOF)
{
int flag=0;
for(i=a;i<=b;i++)
{
int t,gewei,baiwei,shiwei,sum;
t=i;
gewei=t%10;
t=t/10;
shiwei=t%10;
t=t/10;
baiwei=t%10;
sum=gewei*gewei*gewei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei;
if(sum==i&&flag==0)
{
printf("%d",i);
flag++;
}
else if(sum==i)
{
printf(" %d",i);
flag++;
}
}
if(flag==0)
{
printf("no\n",i);
}
else{printf("\n");}
}
return 0;
}