给出间隔(a,b),其中a≤x≤b。给出a = -10并且用户输入b。我应该在C中编写一个函数count()来计算这个区间中x的元素数。
我让这个工作,但我的方法是...粗略。我基本上计算b - a来得到元素的数量而我加上1是因为区间的定义方式。我想知道的是,如果有更好的方法可以做到这一点......实际上要对元素进行计数。
#include <stdio.h>
#define LIMIT -10
int count(int a, int b);
int main() {
int x;
printf("Enter a number:");
scanf("%d", &x);
printf("count(%d, %d) = %d", LIMIT, x, count(LIMIT, x));
}
int count(int a, int b) {
if (b >= a)
return (b - a) + 1;
else
return 0;
}
答案 0 :(得分:1)
你可以使用一个初始化为零的计数器变量,并在for循环内从start_limit到end_limit&amp;回来吧。
function count(int a, int b)
{
int count=0; //determines how many elements in interval
for(int i=start_limit ; i<=end_limit ;i++) //here, start_limit=a , end_limit=b
{
count++;
}
return count; //it returns total no. of elements inside interval
}