c语言问题

1、编写函数,根据公式1公里=5/8英里,把英里数转换为公里数。2、编写函数,实现计算n个元素组成的整型数组中去掉一个最大值和一个最小之后的平均值(如有多个相同的最大值和... 1、编写函数,根据公式1公里=5/8英里,把英里数转换为公里数。
2、编写函数,实现计算n个元素组成的整型数组中去掉一个最大值和一个最小之后的平均值(如有多个相同的最大值和最小值,只要去掉一个,且设n大于2)。
3、设计函数,求整数n的阶乘,并在主函数中调用该函数(通过循环结构)计算下列多项式:
y=1!+3!+5!+7!
展开
 我来答
zgkli6com
2009-04-21 · TA获得超过383个赞
知道小有建树答主
回答量:79
采纳率:0%
帮助的人:130万
展开全部
#include <stdio.h>
#include<malloc.h>

//英里数转换为公里数
double mtok(double miles)
{
if(miles>0)return miles*8/5;
return 0;
}

//去除最大值最小值函数,n表示整型数组array的大小,array,newArray处理前后两个数组的第一个元素首地址即可
int RemoveMaxMin(int* array,int* newArray,int n)
{
if(n<=2||array==NULL||newArray==NULL)return 0;
int max,min;max=min=0;
for(int i=1;i<n;i++)
{
if(array[i]>array[max])
max=i;
else
min=i;
}

int j=0;
for(int k=0;k<n;k++)
{
if(k!=max&&k!=min)
newArray[j++]=array[k];
}
return 1;
}

//阶乘函数
long Factorial(int n)
{
long res=1;
if(n<0) return 0;
if(n==0)return 1;
for(int i=1;i<=n;i++)
res*=i;
return res;
}

int main(void)
{
double miles=2009.421;
double km=mtok(miles);
printf("%f 英里等于%f千米.\n\n",miles,km);

int oldArray[10]={1,2,3,4,5,6,7,8,9,10};
int newArray[8]={0};
if(!RemoveMaxMin(&oldArray[0],&newArray[0],10))return 0;
printf("处理前的数组为:\n");
for(int i=0;i<10;i++)
printf("%d ",oldArray[i]);
printf("\n");
printf("处理后的数组为:\n");
for(int j=0;j<8;j++)
printf("%d ",newArray[j]);
printf("\n\n");

long sum=0;
for(int k=1;k<=7;k+=2)
sum+=Factorial(k);
printf("1!+3!+5!+7!=%ld\n",sum);

return 1;
}
百度网友feb6983
2009-04-21
知道答主
回答量:32
采纳率:0%
帮助的人:22.9万
展开全部
有点愤怒…… 楼主 学一门语言要好好学 别指望去网上找这些问题的答案 大家一眼就看出 这是题目,估计没人愿意回答的,大家不是苦力,而是合力解决问题的好朋友
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
艳子飞莺
2009-04-21 · TA获得超过297个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:161万
展开全部
嘻嘻,如果分高一点我倒愿意。反正也这么简单。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式