c语言编程

1,计算并求出下列多项式的值:
S=1+1/1*2+1/1*2*3+.....+1/1*2*3*.....*n
例如:从键盘给n输入50时,输出S为1.718282
2,定义一个一维数组int【a】,计算出10个数的平均值。
3,编写程序,从键盘分别输入十个int型数据,对其进行选择方法的排序,并输出排序后的结果。

1.注意,当n>=9,s变化就很小了,都约等于1.718282

#include<stdio.h>
void main()
{
    int i,n;
    double s,t;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=2,s=1.0,t=1;i<=n;i++)
        {
            t *= i;
            s += 1/t;
        }
        printf("%lf\n",s);
    }
}

2.

#include<stdio.h>
void main()
{
    int a[10],i;
    double sum;
    for(i=0,sum=0.0;i<10;i++)
    {
        scanf("%d",&a[i]);
        sum += a[i];
    }
    printf("平均数是:%.1lf\n",sum/10);
}

3.

#include<stdio.h>
void main()
{
    int a[10],i,j,t,index,min;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<9;i++)
    {
        min = a[i];
        for(j=i+1;j<10;j++)
        {
            if(a[j]<min)
            {
                min = a[j];
                index = j;
            }
        }
        t = a[i];
        a[i] = a[index];
        a[index] = t;
    }
    printf("从小到大排序后:\n");
    for(i=0;i<10;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
}

望采纳~欢迎追问...

追问

太感谢了,还有一道,帮我解一下,答对在补加10分。

请编写程序,其功能是将两个两位正整数啊,合并为一个整数并放在c上,合并的方式是:酱a的十位和个位数依次放在数c的个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。

例如:a=16 b=35 c=5361
希望完整编写,就是放在程序上直接就能运行出来。

追答#include<stdio.h>
#define MAX 100
void main()
{
    int a,b,c;
    scanf("%d %d",&a,&b);
    c = 0;
    while(b>0)
    {
        c *= 10;
        c += b%10;
        b /= 10;
    }
    while(a>0)
    {
        c *= 10;
        c += a%10;
        a /=10;
    }
    printf("c=%d\n",c);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-07
1.
#include "stdio.h"
int main()
{
int n,i;
double m,s;
s=0;m=1;
printf("输入项数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
m/=(double)i;
s+=m;
}
printf("%lf",s);
}

2.#include "stdio.h"
int main()
{
int a[10],i;
double s;
s=0;
printf("输10个数:");

for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
s+=(double)a[i];
printf("%lf\n",s);
}
printf("%lf",s/10);
}

3.
#include "stdio.h"
int main()
{
int a[10],i,j,t,max;
printf("输10个数:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
max=i;
for(j=i+1;j<=9;j++)
{
if(a[j]>a[max])
max=j;
}
t=a[i];a[i]=a[max];a[max]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}追问

第一个无论输入什么数都是1.718282.
第二个有一个错误。
第三个没有问题。
如果答对我再追加10分。

第2个回答  2013-05-07
/*1,计算并求出下列多项式的值:
S=1+1/1*2+1/1*2*3+.....+1/1*2*3*.....*n
例如:从键盘给n输入50时,输出S为1.718282
2,定义一个一维数组int【a】,计算出10个数的平均值。
3,编写程序,从键盘分别输入十个int型数据,对其进行选择方法的排序,并输出排序后的结果*/

#include <stdio.h>

void Sum( int n);

void Average (int *p);
void Paixu ( int *p);

int main()
{
int i, n;
int a[10];
scanf( " %d", &n);

Sum(n);

for( i = 0; i < n; i++)
{
scanf( "%d", &a[i]);
}

Average(a);
Paixu (a);
return 0;
}

void Sum( int n)
{
int i;
double s ,j;
for( j = 1.0, i = 1 , s = 0; i <= n; i++)
{
j *= i;
s += 1.0 / j;
}
printf( " %lg\n", s);
}

void Average (int *p)
{
int i ;
double s = 0;
for(i = 0; i < 10; i++)
{
s += p[i];
}
s /= 10;
printf( " %lg\n", s);
}

void Paixu ( int *p)
{
int i, j, k;
for( i = 0; i < 9; i++)
{
j = i;
{
for( k = i + 1; k < 10; k++)
{
if( p[k] < p[j])
{
j = k;
}
}
if( j != i)
{
k = p[j];
p[j] = p[i];
p[i] = k;
}
}
}

for( i = 0; i < 10; i++)
{
printf( " %d\n", p[i]);
}
}追问

太乱了,看不清题号。

追答

Sum求和 Average 求平均 Paixu 排序。。。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网