c语言编程求助~
编程作业:
1.输入10名学生5门课程的成绩,分别用函数求出:
1) 每门课程的平均分;
2) 找出最高分数所对应的学生和课程。(使用全局变量)
(可使用随机数函数:int rand(void);包含在stdlib.h中 rand()%90+10可以产生2位随机正整数。P88教材参考)
2.用函数编写182页例6,用梯形法求定积分的值。思路就是将积分区间划分成n等份,然后将这n等份近似看成梯形,然后对所有的梯形面积进行求和。h=(b-a)/2,分点为xi=a+ih,i=0,1,…,n。
3.运行程序,观察结果。P143 第2题。
4.编写函数,求100-999之间的水仙花数,在主函数中调用并输出。
5.求级数1+2*3+4*5*6+7*8*9*10+……的前5项之和。
#include <stdio.h>
#include <math.h>
#include <time.h>
#define N 10
int maxi,maxj;
void aver(int a[][5])
{
int i,j;
printf("Average:");
for(i=0;i<N;i++)
for(j=0;j<5;j++)
a[N][j]+=a[i][j];
for(i=0;i<5;i++)
printf("%6.1f",(float)a[N][i]/10);
printf("\n");
}
void highest(int a[][5])
{
int i,j;
for(i=0;i<N;i++)
for(j=0;j<5;j++)
if(a[i][j]>a[maxi][maxj])
{
maxi=i;
maxj=j;
}
}
int main()
{int a[N+1][5]={0},i,j,t=0;
srand((unsigned)time(NULL));
for(i=0;i<N;i++)
{
printf(" No.%2d: ",i+1);
for(j=0;j<5;j++)
{
a[i][j]=rand()%60+40;
printf("%5d ",a[i][j]);
}
printf("\n");
}
aver(a);
highest(a);
printf("\nMax = No.%d_Cj(%d) = %d\n",maxi+1,maxj+1,a[maxi][maxj]);
return 0;
}
#include <stdio.h>
void shuixianhua()
{
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)printf("%d%d%d\n",i,j,k);
}
int main()
{
shuixianhua();
return 0;
}
#include <stdio.h>
int main()
{
int i,j,t=1,k=1,s=0;
for(i=1;i<6;i++)
{
t=1;
for(j=0;j<i;j++)
t*=k++;
s+=t;
}
printf("%d\n",s);
return 0;
}