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
希望完整编写,就是放在程序上直接就能运行出来。
#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]);
}追问
#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]);
}
}追问
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 排序。。。。