第一范文网 - 专业文章范例文档资料分享平台

程序设计资料2

来源:用户分享 时间:2025/6/28 6:54:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

170. 已知学生的记录由学号和学习成绩构成,N名

学生的数据已存入a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。 已给出函数的首部,请完成该函数。

fun( STU a[], STU *s ) { int i; *s=a[0];

for(i=0;is>a[i].s) *s=a[i]; }

171. 请编一个函数 fun ,其中n所指存储单元中存放了数组中元素的个数。函数的功能是:删除所有值为 y 的元素。数组元素中的值和 y 的值由主函数通过键盘读入。 void fun ( int bb[ ], int *n, int y ) {int i,j=0;

for(i=0;i<*n;i++) if(bb[i]!=y)

bb[j++]=bb[i]; *n=j; }

172. 请编一个函数float fun(double h),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入 (规定h中的值为正数)。

例如:h 值为 8.32433, 则函数返回 8.32; 值为 8.32533, 则函数返回 8.33。 float fun ( float h ) { long num; h=h+0.005; h=h*100; num=h;

h=num/100.0; return h; }

173. 请编一个函数fun(int *a, int n, int *odd, int

*even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n给出数组中数据的个数;利用指针odd返回奇数之和,利用指针even返回偶数之和。

例如:数组中的值依次为: 1,9,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even 返回偶数之和8。

fun ( int *a, int n, int *odd, int *even ) {int i;

*odd=*even=0; for(i=0;i

*even+=a[i]; }

174. 请编写一个函数,用来删除字符串中的所有空格。

例如,输入\, 则输出为 \。 int fun(char *str) { int i,j=0;

for(i=0;str[i];i++) if(str[i]!=' ')

str[j++]=str[i]; str[j]='\\0'; }

175. 请编写函数fun,函数的功能是:判断字符串是否为回文?

若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。

例如,字符串LEVEL是回文,而字符串123312就不是回文。 int fun(char *str) {int i,n=strlen(str); for(i=0;i=n/2) return(1); else

return(0); }

176. 编写函数fun,函数的功能是:将M行N列的二维数组中的数据按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。

例如,二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55

则一维数组中的内容应是:

33 33 33 33 44 44 44 44 AAAABBBBBBBCC。

void fun(char a[M][N], char *b) {int i,j,k=0;

for(i=0;i

for(j=0;a[i][j]!='\\0';j++) b[k++]=a[i][j]; b[k]='\\0'; }

55 55 55 55。

void fun(int (*s)[10], int *b, int *n, int mm, int nn) {int i,j,k=0;

for(i=0;i

177. 请编写函数fun,函数的功能是:将M行N列的二维数组中的数据按列的顺序依次放到一维数组中。

例如,二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55

则一维数组中的内容应是:

33 44 55 33 44 55 33 44 55 33 44 55。

void fun(int (*s)[10], int *b, int *n, int mm, int nn) { int i,j,k=0;

for(j=0;j

178. 请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。

例如,字符串数组中的M个字符串为: AAAA BBBBBBB CC

则合并后的字符串的内容应是:

179. 请编写函数fun,函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。

例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。移动后,一维数组中的内容应为: 5,6,7,8,9,10,1,2,3,4。

void fun(int *w, int p, int n) {int i,j,t;

for(i=0;i<=p;i++) { t=w[0]; for(j=0;j

180. 请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。 例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后字符串中的内容应该是:DEFGHIJKABC。 void fun(char *w, int m) {int i,j,n=strlen(w); char t;

for(i=0;i

181. 请编写函数fun,函数的功能是:将M

行N列的二维数组中的字符数据按列的顺序依次放到一个字符串中。

例如,二维数组中的数据为: W W W W S S S S H H H H

则字符串中的内容应是:WSHWSHWSH。

void fun(char (*s)[N], char *b) {int i,j,k=0;

for(i=0;i

182. 请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,一维数组中的数据是:

2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后数组中的内容应该是:

2 3 4 5 6 7 8 9 10。 int fun(int a[], int n) { int i,j,t,k=0;

for(i=0;i

for(j=i+1;j

return(n); }

183. 请编写函数fun,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余

依此类推,把100岁(含100)以上年龄的人数都放在d[10]中。结果在主函数中输出。 void fun( int *a, int *b) { int i;

for(i=0;i<=10;i++) b[i]=0;

for(i=0;i=100) b[10]++; else

b[a[i]/10]++; }

184. 请编写函数fun,函数的功能是:统计一行字符串中单词的个数作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 int fun( char *s) {int i=0,flag=1,n=0; while(s[i]){ if((flag==1) && (s[i]!=32)) {n++;flag=0;} if(s[i]==32) flag=1; i++; } return n; }

185. 请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。

例如,给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,输出应为:s=35.951014。 double fun(double x[9]) { int i;

double sum,ave,s=0; for(i=0;i<8;i++) { sum=x[i]+x[i+1]; ave=sum/2; s=s+sqrt(ave); }

return(s); }

186. 请编写函数fun,其功能是:计算并输出下列多项式的值:

请编写函数fun,其功能是:计算并输出下列多项式的值:

1 1 1 S=(1 - ─) +…+ (── - ──) 2 2n-1 2n 例如,在主函数中从键盘给n输入8后, s=s+1.0/i; return(s); }

189. 请编写函数fun,其功能是:计算并输出下列多项式的值:

S = 1 + 1/1! + 1/2! + 1/3! + 1/4! + ... + 1/n! 例如,在主函数中从键盘给n输入15,则输出为:s=2.718282。 输出为:s=0.662872。 double fun(int n) { int i,t=1; double s=0;

for(i=1;i<=2*n;i++) { s=s+1.0/i*t; t=-t; }

return(s); }

187. 请编写函数fun,其功能是:计算并输出下列多项式的值:

1 1

S = 1 + ── + … + ───── 1+2 1+2+3+…50 例如,在主函数中从键盘给n输入50后,输出为:s=1.960784。 double fun(int n) { int i;

double s=0,t=0; for(i=1;i<=n;i++) {s=s+i; t=t+1.0/s; }

return(t); }

188. 请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。

例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。 double fun(int n) { int i;

double s=0;

for(i=1;i<=n;i++)

if(i%5==0||i%9==0)

double fun(int n) { int i;

double f=1,s=1; for(i=1;i<=n;i++) {f=f*i; s=s+1.0/f; }

return(s); }

190. 请编写函数fun,其功能是:计算并输出当x<0.97时下列多项式的值, 直到|S(n)-S(n-1)|<0.000001为止。 例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。 double fun(double x) {int i=1;

double s=1,f=1,t; do{t=s;

f=f*(0.5-i+1)*x/i; s=s+f; i++;

}while(fabs(s-t)>=0.000001); return(s); }

191. 191 请编写函数fun,其功能是:计算并输出给定10个数的方差: ┌ 1 10 ┐0.5 S=│ ─ ∑ (Xk-X')^2 │ └ 10 k=1 ┘ 1 10

其中X'= ─ ∑ Xk 10 k=1 例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,输出为s=11.730729。 double fun(double x[10])

{ int i;

double s=0,ave,sum=0; for(i=0;i<10;i++) s=s+x[i]; ave=s/10;

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

sum=sum+(x[i]-ave)*(x[i]-ave); ave=sum/10; s=sqrt(ave); return(s); }

192. 请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。 例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。 double fun(int n) { int i,j;

double s=0;

for(i=3;i<=n;i++) {for(j=2;j=i) s=s+sqrt(i); }

return(s); }

193. 请编写函数fun,其功能是:计算并输出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)+……+(1+2^0.5+3^0.5+……+n^0.5)

例如,在主函数中从键盘给n输入20后,输出为:s=534.188884。 double fun(int n) {int i;

double s=0,t=0; for(i=1;i<=n;i++) { s=s+sqrt(i); t=t+s; }

return(t); }

搜索更多关于: 程序设计资料2 的文档
程序设计资料2.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1tgcy91ehh47le04lla8_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top