求大神帮我解决一下几道C语言程序设计题

1、从键盘上输入一个正整数n(n≤10),求n的阶乘并输出结果。2、请编程从键盘上输入十个整数,计算其中大于零的奇数的平均值,并输出这些大于零的奇数以及它们的平均值。... 1、从键盘上输入一个正整数n(n≤10),求n的阶乘并输出结果。
2、
请编程从键盘上输入十个整数,计算其中大于零的奇数的平均值,并输出这些大于零的奇数以及它们的平均值。
展开
 我来答
百度网友ac29593d8
2013-07-12 · TA获得超过176个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:118万
展开全部
#include <stdio.h>

unsigned long factorial(unsigned int n)
{
if(n<=1)return n;
return n*factorial(n-1);
}
int main(int argc, char * argv[])
{
int i,num[10],n=0;
float sum=0;
printf("输入一个正整数n(n≤10):"); 
scanf("%d",&i);
printf("%d! = %ld\n",i,factorial(i));
printf("\n输入十个整数:"); 
for(i=0;i<10;i++)
{
scanf("%d",num+i);
}
printf("大于零的奇数有:");
for(i=0;i<10;i++)
{
if(num[i]>0&&num[i]%2)
{
printf("%d ",num[i]);
sum+=num[i];
n++;
}
}
printf("\n平均值为:%f\n\n",sum/n);
return 0;
}
/**************end of file***********************/

编程知识分享家
2013-07-12 · 编程、数据库入门。计算机技巧、心得分享。
编程知识分享家
采纳数:404 获赞数:923

向TA提问 私信TA
展开全部

5分太少,30分起步,我写了。

#include "stdio.h"
void main()
{
  int i,n,sum=1;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
   sum=sum*i;
  printf("%d\n",sum);
  只能求出13以内的阶乘。
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanyong1993
2013-07-12 · TA获得超过428个赞
知道小有建树答主
回答量:95
采纳率:100%
帮助的人:87.9万
展开全部
//1,递归函数法计算阶乘
#include<stdio.h>
int fun(n)
{
if(n>1)
return n*fun(n-1);
return 1;
}
main()
{
int x,n;
printf("输入n(n<=10):");
scanf("%d",&n);
x=fun(n);
printf("%d",x);
putchar('\n');
}

//2,
#include<stdio.h>
main()
{
int a[10],b[10];
int i,j=0,count=0;
float ave,sum=0;
printf("输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",a+i);
for(i=0;i<10;i++)
{
if(a[i]>0)
{
if(a[i]%2==1)
{
sum+=a[i];
count++;
b[j]=a[i];
j++;
}
}
}
ave=sum/count;
printf("输入的所有大于零的奇数为:\n");
for(j=0;j<count;j++)
printf("%-3d",b[j]);
printf("\n所有大于零的奇数的平均值是:%f",ave);
putchar('\n');
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovemiyakusang
2013-07-12 · 超过17用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:22.1万
展开全部
1.
#include<stdio.h>
int main()
{
int n;
int i;
int sum=1;
scanf("%d",&n);
for(i=1;i<n;i++)
{
sum*=i;
}
printf("%d\n",sum);
return 0;
}
2.
#include<stdio.h>
int main()
{
int a[10];
int i,sum=0,n=0,m=0,ave;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
if(a[i]%2!=0&&a[i]>0)
{
printf("%d ",a[i]);
sum+=a[i];
n++;
}
}
printf("\n");
ave=sum/n;
printf("%d\n",ave);
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式