明天的C语言考试题 因为数学问题 搞不懂啊 救救孩子吧
总共三道题,有大神看一下吗,麻烦了考题一:已知
|x| x∈(-∞,2)
y= x2+3 x∈[2,5)
3/x x∈[5,∞)
输入x的值求y的值。(分别输入-1,2,4和6输出y的值)(30分)
考题二:已知f(x)=x/2+x3/4+x5/6+…+x2i-1/(2i)+…+ x2n-1/(2n),输入x和n的值求f(x)的值。(输入1.01和10输出f(x)的值)(30分)
考题三:输入20个互不相同的整数(当输入相同的数时程序必须能处理),并按输入顺序存储在一个一维数组中,将这20个数中所有低于平均值的数从大到小排序后输出。(40分) 顶 #include <stdio.h>
#include <math.h>
int main(void)
{
double x, y;
printf("x: ");
scanf("%lf", &x);
if(x < 2)
y = fabs(x);
else if(x >= 2 && x < 5)
y = x * 2 + 3;
else
y = 3 / x;
printf("y: %.3lf\n", y);
return 0;
}
#include <stdio.h>
int main(void)
{
double x;
size_t n;
printf("x: ");
scanf("%lf", &x);
printf("n: ");
scanf("%lu", &n);
double sum = 0;
for(size_t i = 1; i <= n; ++i)
sum += x * (2 * i - 1) / 2 * i;
printf("f(x): %.3lf\n", sum);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
void data_input(int data[], size_t size)
{
for(size_t i = 0; i < size; ++i)
scanf("%d", &data);
}
bool data_equal(const int data[], size_t size)
{
for(size_t i = 0; i < size - 1; ++i)
{
for(size_t j = i + 1; j < size; ++j)
{
if(data == data)
return true;
}
}
return false;
}
int compar(const void *a, const void *b)
{
return a > b;
}
void data_print(const int data[], size_t size)
{
double sum = 0;
for(size_t i = 0; i < size; ++i)
sum += data;
double average = sum / size;
int num;
size_t num_size = 0;
for(size_t i = 0; i < size; ++i)
{
if(data < average)
num = data;
}
qsort(num, sizeof(int), num_size, compar);
for(size_t i = 0; i < num_size; ++i)
printf("%d ", num);
printf("\n");
}
int main(void)
{
int data;
printf("请输入: ");
while(1)
{
data_input(data, 20);
if(!data_equal(data, 20))
break;
printf("请重新输入: ");
}
data_print(data, 20);
return 0;
}
页:
[1]