30.程序设计题
数组a[N]保存着一组3位数的无符号正整数,其元素的个数通过变量len传入fun函数。请补充fun函数,该函数的功能是:从数组a中找出个位和百位数字相等的所有无符号整数,结果保存在数组yy中,其个数由fun函数返回。
例如,当a[6]={111,323,677,456,987,999}时,b[3]={111,323,999}。 #include
#define N 500
int fun(int a[],int bb[],int len) { int i,n=0; int g,b; for(i=0;i g=a[i]; b=a[i]/100; if(g==b) bb[n++]=a[i]; } return n; } main() 31.程序设计题 请编写函数fun,其功能是求出二维数组周边元素之和,该和值作为函数值返回。二维数组中的值在主函数中赋予。 例如:二维数组中的值为 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 则函数值为61。 #include int k,s=0; for( k=0; k 32.程序设计题 请编写函数fun,其功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 #include void fun(char *ss) { int k; for(k=1;k void main(void) { 33.程序设计题 编写函数fun,其功能是,根据以下公式求P的值,结果由函数值返回。M与n为两个正整数且要求m > n: P=m!/(n!*(m-n)!) 例如:m=12、n=8时,运行结果为495.000000。 注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include float s=1.0; int k; for(k=n+1;k<=m;k++) s*=k; for(k=1;k<=(m-n);k++) s/=k; return s; } main() { printf(\34.程序设计题 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。 例如,输入的分数是60、69,则应当把分数在60~69之间的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。 #include char num[10]; int s; }STREC; int fun(STREC *a,STREC *b,int l,int h) { int k,n=0; for(k=0;k 35.程序设计题 请编写函数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。 #include void fun(int *w,int p,int n) { int j,k,t=0; for(j=0;j<=p;j++) { t=w[0]; for(k=1;k 36.程序设计题 请编写函数fun(),该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 #include int i,j=0; for(i=0;s[i]!='\\0';i++) if(s[i]!=' '&&(s[i+1]==' '||s[i+1]=='\\0')) j++; return j; } 37.程序设计题 请编写函数fun(),该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中。要求函数把0~9岁年龄段的人数在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依次类推,把100岁(含100)以上年龄的人数都放在d[10]中。结果在主函数中输出。 #include int i,j; for(j=0;j for(i=0;i if(a[i]>=100) b[10]++; else b[a[i]/10]++; } 38.程序设计题 请编写函数fun(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。 #include int i,j=1; for(i=1;i if(a[j-1]!=a[i]) a[j++]=a[i]; return j; } main() 39 程序设计题 请编写函数void fun(int y,int b[],int*m),它的功能是:求出能整除y且是奇数的各整数,并按从小到大的顺序放在b所指的数组中,这些除数的个数通过形参m返回 #include void fun(int y,int b[],int *m) { int j=1,i=0,k=0,*s=b; for(j=0;j<=y;j++) if(j%2!=0) { s[i]=j; i++; } for(j=0;j *m=k; } main() { int y,a[500],m,j; FILE *out; printf(\ scanf(\ fun(y,a,&m); for(j=0;j fun(730,a,&m); out=fopen(\ for(j=0;j fprintf(out,\ fclose(out); } 40.程序设计题 请编写函数fun,它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。 例如:主函数从键盘给输入n的值为56,则输出为sum=1113。 #include