给定三个整数m,n,s,10<=m<n<=10000,3<=s<=n,编程输出在此范围内(m<=x<=n)的特殊数x的个数,x是s的倍数同时是奇数。
输入样例:
在这里给出一组输入。例如
1 20 7
20 40 3
输出样例:
在这里给出相应的输出。例如:
1
4
分析:将输入的数存入一个数组中,遍历数组元素,在每组三个数求特殊数x的个数。
将结果存入另一个数组,最后输出。
注意输入的格式,当输入为空时停止输入。
while ((c = getchar()) != EOF) 结束循环:
终端上,按Ctrl+D linux下产生EOF输出,Ctrl+Z Windows下产生EOF输出,Ctrl+C Windows下关闭窗口。
代码如下:
#include<stdio.h>
void main(){
int a[100],b[100];
int i,j,k,m,sum;
while(scanf("%d",&a[i])!=EOF){
i++;
}
for(;j<i;){ //遍历数组
for(k=a[j];k<=a[j+1];k++){ //对每组数据进行特殊数个数的求解,存入sum
if(k%2==1&&k%a[j+2]==0) sum++;
}
b[m]=sum; //将每组特殊数的个数赋值给b数组
sum=0; //每求完一组数据,sum置为0
m++;
j=j+3; //j+3,进行下一组数据求解
}
for(i=0;i<m;i++){
printf("%d\n",b[i]);
}