程序设计1

更新时间:2023-03-14 00:08:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

以下所有功能必须写出主函数。

一、功能:输入2个学生3门课的成绩,计算学生成绩平均分, 课程平均分和最高分.

例如:输入2名学生3门课的成绩分别为92,87,68,56, 92,84 则

学生1平均分:82.33 学生2平均分:77.33 课程1平均分:74.00 课程2平均分:89.50 课程3平均分:76.00 最高分为:92 答案: int i,j;

float sum;

for(i=0;i<2;i++) /*计算第i个学生平均分*/

{

sum=0;

for(j=0;j<3;j++)

sum=sum+score[i][j]; StuAgv[i]=sum/3;

}

for(j=0;j<3;j++) /*计算第j门课的平均分*/ { sum=0;

for(i=0;i<2;i++) sum=sum+ score [i][j]; CouAgv[j]=sum/2; }

Max=score[0][0]; for(i=0;i<2;i++) for(j=0;j<3;j++) if(Max<=score[i][j]) { }

Max=score[i][j];

return ;

二、功能:编写函数求1~100中奇数的平方和。结果为166650。 答案:---------------------- float s=0;

int i;

for(i=1;i<=n;i=i+2) s=s+i*i;

return(s);

三、功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函 数中由键盘输入n值,并输出运算结果。请编写fun 函数。 int i; float f=1,s=0; for(i=1;i<=n;i++) {f=f*i; s=s+f;}

return s;

四、功能:编写函数fun对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。

答案:---------------------- int k,j,t;

for (k=0;kt=array[k];

array[k]=array[j]; array[j]=t; }

五、功能:编写程序求无理数e的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n!

当1/n!<0.000001时e=2.718282。 答案:---------------------- long int j; int i,k; double e,jc; i=1; e=0.0; jc=1.0;

while(jc>=0.000001) {

e=e+jc; j=1;

for(k=1;k<=i;k++) j=j*k; jc=1.0/j; i++;

}

return e;

----------------------

六、功能:求出N×M整型数组的最大元素及其所在的行坐标及 列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为:

1 2 3 4 15 6 12 18 9 10 11 2

求出的最大数为18,行坐标为2,列坐标为1。 答案:---------------------- int max,i,j; max=array [0][0]; Row=0; Col=0; for(i=0;ireturn(max);

----------------------

七、功能:给定n个数据, 求最大值出现的位置(如果最大值出 现多次,求出第一次出现的位置即可)。 答案:---------------------- int i,k; k=0;

for(i=1;i<=n;i++) if(s[i]>s[k]) k=i; return(k+1);

----------------------

八、功能:根据整型形参m,计算如下公式的值: y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5) 例如:若m=9,则应输出:1.168229 double y=0; int i;

for(i=0; i<=m; i++)

{y+=1.0/(i+5); } return(y);

九、功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的积,并在fun() 函数中输出。 int sum; int i,j; sum=1;

for(i=0;i<3;i++) sum=sum*a[i][i]; return sum;

十、功能:从字符串s中删除指定的字符c。 答案:---------------------- int i,k=0;

for(i=0;s[i]!='\\0';i++) if(s[i]!=c) s[k++]=s[i]; s[k]='\\0';

----------------------

十一、功能:编写函数求3!+6!+9!+12!+15!+18!+21!。 答案:---------------------- int i,j;

float t,s=0; for(i=3;i<=n;i=i+3) {t=1;

for(j=1;j<=i;j++) t=t*j;

s=s+t;}

return(s);

十二、功能:统计出若干个学生的平均成绩,最高分以及得最高 分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92, 84,67,75,92,66,则输出平均成绩为77.9, 最高分为92,得最高分的人数为3人。 答案:---------------------- int i;float sum=0,ave; Max=array[0]; for(i=0;i

{ if(Max

十三、功能:求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 答案:---------------------- int i,k,s=0;

for(i=2;i<=m;i++) {for(k=2;k

} return s;

十四、功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 int i,j;

for(j=0;j

pp[j]=tt[0][j]; for(i=1;ipp[j]) pp[j]=tt[i][j];

}

----------------------

十五、功能:求一个n位自然数的各位数字的积。(n 是小于10的 答案:---------------------- long d,s=1; while (n>0) {d=n; s*=d; n/=10; }

return s; ----------------------

自然数)

十六、功能:求出二维数组周边元素之和,作为函数值返回。二 维数组的值在主函数中赋予。 答案:---------------------- int s=0; int i,j;

for(i=0;i

s=s+a[i][0]+a[i][N-1]; for(j=1;j

----------------------

十七、功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶 数,则求x到y之间的偶数和。

答案:---------------------- int i,s=0;

for(i=x;i<=y;i+=2) s=s+i; return s;

----------------------

本文来源:https://www.bwwdw.com/article/ng2x.html

Top