提高第39课时,实践3,项目3-为动态数组扩容
2015-05-31 20:44
253 查看
/* *Copyright(c) 2015/5/31 CSDN博客 *All rights reserved. *文件名称:main.c *作 者:金叶 *完成日期:2015/5/31 *版本号:V1.0 *问题描述:项目3-为动态数组扩容 *下面的程序,利用动态数组保存学生的成绩。当再有一批学生成绩需要保存时, 要为之扩容(和吃自助一样,用多少,取多少,这好),请补充完整下面的程序,实现如图所示的功能。 */ #include <stdio.h> #include <malloc.h> int main( ) { int num,i,addNum; //num是小组人数 printf("输入学生人数: "); scanf("%d", &num); float *score = (float*)malloc(num*sizeof(float)); printf("请输入学生成绩: "); //输入num名同学的成绩 for(i=0; i<num; i++) scanf("%f", score+i); //&score[i] printf("需要增加多少名学生? "); scanf("%d", &addNum); //addNum是需要增加的人数 //下面的程序完成对数组的扩容,并输入另外的成绩 float *score1 = (float *)malloc((num+addNum)*sizeof(float)); for (i=0;i<num;i++){ *(score1+i)=*(score+i); } free (score); printf("请输入增加的学生的成绩\n"); for (i=num;i<num+addNum;i++){ scanf("%f",score1+i); } for (i=0;i<num+addNum;i++){ printf("%f\n",*(score1+i)); } free(score1); return 0; }
相关文章推荐