指针大礼包7

四、程序设计   共10题 (共计100分)

第1题 (10.0分)        题号:139        难度:中        第8章

/*-------------------------------------------------------

【程序设计】

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

题目:请编写函数fun,其功能是将形参s所指字符串放入形参a所指的字符数组中,使a

      中存放同样的字符串。说明:不得使用系统提供的字符串函数。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入

      你所编写的若干语句。

-------------------------------------------------------*/

#include  <stdio.h>

#define    N    20

void  fun( char  *a , char  *s)

{

/**********Program**********/

/**********  End  **********/

}

void main()

{  

        char  s1[N],  *s2="abcdefghijk";

        fun( s1,s2);

        printf("%s\n", s1);

        printf("%s\n", s2);

}

第2题 (10.0分)        题号:124        难度:中        第8章

/*-------------------------------------------------------

【程序设计】

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

题目:编写函数fun,其功能是:将ss所指字符串中所有下标为奇数位上的字母转换为大写

     (若该位置上不是字母,则不转换)。例如:若输入"abc4EFg",则应输出"aBc4EFg"。

注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入

      你编写的若干语句。

-------------------------------------------------------*/

#include <stdio.h>

#include <string.h>

void  fun  ( char *ss )

{

/**********Program**********/

/**********  End  **********/

}

void main( )

{

        char tt[81] ;

        printf( "\nPlease enter an string within 80 characters:\n" );

        gets( tt );

        printf( "\n\nAfter changing, the string\n  \"%s\"", tt );

        fun( tt );

        printf( "\nbecomes\n  \"%s\"\n",  tt  );

}

第3题 (10.0分)        题号:188        难度:中        第8章

/*-------------------------------------------------------

【程序设计】

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

题目:请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机

      函数获得,并放入主函数的age数组中。

      要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,

      把20~29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人

      数都放在d[10]中。结果在主函数中输出。

注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入

      你编写的若干语句。

-------------------------------------------------------*/

#include <stdio.h>

# define N  50

# define M  11

void fun(int *a,  int *b)

{

/**********Program**********/

void fun( int *a, int *b) {

int i, j ;

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

b[i] = 0 ;

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

j = a[i] / A0 ;

if (j > A0)

b[M - A]++ ;

else

b[j]++ ;

}

}

double rnd() {

static t = BI, c = BAG, m = A0BD, r = 0;

r = (r * t + c) % m;

return ((double)r / m);

}

                          

/**********  End  **********/

}

double  rnd()

{

        static t=29,c=217,m=1024,r=0;

        r=(r*t+c)%m;  

        return((double)r/m);

}

void main()

{

        int age[N], i,d[M];

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

                age[i]=(int)(115*rnd());     /*产生一个随机的年龄数组*/

        printf("The original data :\n");

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

                printf((i+1)%10==0? "%4d\n":"%4d",age[i]);   /*每行输出10个数*/

        printf("\n\n");

        fun(age,d);

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

                printf("%4d---%4d  :%4d\n", i*10, i*10+9,d[i]);

        printf("Over 100  :  %4d\n",d[10]);

}

第4题 (10.0分)        题号:121        难度:中        第8章

/*-------------------------------------------------------

【程序设计】

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

题目:编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。

      合并的方式是:将a数的十位和个位数依次在c数的个位和百位上,b数的十位和

      个位数依次放在c数的十位和千位上。

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

注意:请勿动改主函数的main和其它函数中的任何内容,仅在函数fun的花括号填入

      你编写的若干语句。

-------------------------------------------------------*/

#include <stdio.h>

void fun(int a, int b, long *c)

{

/**********Program**********/

/**********  End  **********/

}

void main()

{  

        int a,b; long c;

        printf("Input a, b:");

        scanf("%d %d", &a, &b);

        fun(a, b, &c);

        printf("The result is: %ld\n", c);

}

第5题 (10.0分)        题号:91        难度:中        第8章

/*-------------------------------------------------------

【程序设计】

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

题目:某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在

      主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记

      录的ave成员中。

例如:学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。

注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun部位中填入你编写

      的若干语句。

-------------------------------------------------------*/

#include <stdio.h>

#define   N   8

typedef  struct

{  

        char  num[10];

        double  s[N];

        double  ave;

} STREC;

void  fun(STREC *a)

{

/**********Program**********/

/**********  End  **********/

}

void main()

{  

        STREC  s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};

        int  i;

        fun( &s );

        printf("The %s's student data:\n", s.num);

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

                printf("%4.1f\n",s.s[i]);

                printf("\nave=%7.3f\n",s.ave);

}


 

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞莲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值