(加强版)程序设计答案word版 联系客服

发布时间 : 星期二 文章(加强版)程序设计答案word版更新完毕开始阅读826bcad9b94ae45c3b3567ec102de2bd9705de63

精品文档

可调用strlen函数求字符串的长度。例如:在键盘输入字符串’2345210’,函数返 回长整型数2345210。

long fun(char *s) int i;sum=0,len; len=strlen(s); for(i=0;i

sum=sum*10+*s-48; s++; }

return sum;

11.2题目:请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出.

int i,n=0,fg=1; char *p=str; while (*P) { n++; p++; }

for (i=0;i

return fg;

12.1请编写函数fun,该函数的功能是: 求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

int i,j,s=0; for(i=0;i

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

s=s+a[ 0][j ]+a[M-1][j]; return s;

12.2功能: 对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII制降序

9欢迎下载

精品文档

排列。

例如: 原来的字符串为CEAede,排序后输出为CadEAa. char ch; int i,j;

for (i=I ;i<6;i++) for(j=i+1;j<6;j++) {

if (*(s+i)<*(s+j)) {

ch=*(s+j); *(s+j)=*(s+i); *(s+i)=ch; } }

13.1有一函数:如样张所示。请编fun函数,x ,y均为整型,输入x值,输出y值。

int y; if(x<0)

y=x *x+ x-6 ;

else if(x>=0&&x<=10) y=x*x-5*x+6 ; else

y=x*x-x-1; return y;

13.2求Sn=a+aa+aaa+……+aa…a之值,其中,a代表1到9中的一个数字。例如:a代表2,则求2+22+222+2222+22222(此时n=5),a和n的值由键盘键入。

int t=a,i,s;

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

t=t*10+a; s=s+t; }

return s;

14.1功能:将两个两位数的正整数a、b合并形成一个整数放在c 中。合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上, b数的十位和个位数依次放在c数的十位和千位上。

例如: 当a=45,b=12, 调用该函数后, c=2514。

*c=a/10+(a)*100+(b/10)*10+(b)*1000;

10欢迎下载

精品文档

14.2功能:编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1+1/3+1/5+1/7+…+1/(2m+1)

例如:若m=9,则应输出:2.133256

double y=0; int i;

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

y+=1.0/(2*i+1); }

return (y);

15.1题目:请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。

例如:原来的字符串为\,排序后输出为\。

char ch ; int i,j;

for(i=1;i<6;i++) for(j=i+1;j<6;j++) {

if(*(s + i) < *(s + j)) {

ch= *(s + j);

*(s + j) = *(s +i) ; *(s+i)=ch; } }

15.2功能:对某一正数的值保留2位小数,并对第三位进行四舍五入。

int i ;

i= (int) (h*1000); if(i >=5)

return (int) (h*100+1)/100.0; else

return (int) (h*100)/100.0;

16.1请编写一个函数int fun(int *s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指向的存储单元中。

例如: 输入如下整数: 876 675 896 101 301 401 980 431 451 777则输出结果为6,980。

int i; *k=0;

for(i=0;i

11欢迎下载

精品文档

if(s[*k]

return s[*k] ;

16.2功能: 从键盘输入一个大于3的整教,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。

例如: 7是素数,8不是素数。请编写fun区擞。素数是仅能被1和自身整除的数

int i;

for( i= 2 ;i

17.1题目: 规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是: 使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号! 若少于或等于n个则不做任何操作,

字符串中间和前面的*号不删除。

例如: 字符串中的内容为“****A*BC*DEF******* ,若n的值为4,删除后,字符串中的内容

应为\

若n的值为7,则字符串中的内容仍为 “****A*BC*DEF*G*******” 。 n的值在主函数中输入。编写函数时,不得使用C语言提供的字符串函数。

int i=0,k=0; char *p,*t ; p=t=a; while(*t) t++ ; t--;

while (*t==' *' ) { k++; t--; }

if (k>n) {

while (*p&&p

a[i]=*p; i++; p++ ; }

a[i]=' \\0' ;

12欢迎下载