1.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是stamp,strcmp(a,b)当a和b字符串相等时返回值为0)。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。给定源程序如下。#include<stdio.h>
#include<string.h>
#define N 16
typedef struct{char num[10];int s;}STREC;
STREC fun(STRECa,charb)
{
}
main(){STREC s[N]={{"GA005",85},{"GA003",76},{"GB002",69},{"GC004",85},{"GD001",91},{"GE007",72},{"GF008",64},{"GH006",87},{"GM015",85},{"GN013",91},{"GK012",64},{"GL014",91},{"GZ011",77},{"GV017",64},{"GA018",64},{"GA016",72}};
STREC h;
char m[10];
int i;
FILE*out;
printf("The originaldata:\n");
for(i=0;i<N;i++){if(i%4==0)printf("\n");
printf("%s%3d",s[i].num,s[i].s);}
printf("\n\nEnter thenumber:");
gets(m);h=fun(s,m);
printf("The data:");
printf("\n%s%4d\n",h.num,h.s);
printf("\n");
out=fopen("out.dat","w");
h=fun(s,"GA013");
fprintf(out,"%s%4dn",h.num,h.s);
fclose(out);}
![](https://profile-avatar.csdnimg.cn/a0ed3091729143e49d795f4590c00ae3_qq_69764094.jpg!4)
c语言程序设计题(结构体)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注
#include <stdio.h> #define N 16 typedef struct { char num[10]; int s; } STREC; /*************fun函数***************/ int fun( STREC *a,STREC *b,int l, int h ) { int i,j=0; for(i=0;i<N;i++) if(a[i].s<=h&&a[i].s>=l) b[j++]=a[i]; return j; } /*************fun函数***************/ void main() { STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},{"GA001",96}, {"GA007",72},{"GA008",64},{"GA006",87},{"GA015",85},{"GA013",94},{"GA012",64}, {"GA014",91},{"GA011",90}, {"GA017",64},{"GA018",64},{"GA016",72}}; STREC h[N],tt; int i,j,n,low,heigh,t; printf("Enter 2 integer number low & heigh : "); scanf("%d%d", &low,&heigh); if ( heigh< low ){ t=heigh;heigh=low;low=t; } n=fun( s,h,low,heigh ); printf("The student's data between %d--%d :\n",low,heigh); for(i=0;i<n; i++) printf("%s %4d\n",h[i].num,h[i].s); printf("\n"); }
解决评论 打赏 举报无用 1
悬赏问题
- ¥40 微信小程序 使用vant组件ActionSheet 下拉面板,内容区域滚动会触发。scroll-view自定义下拉刷!即使设置停止下拉刷新也不行。
- ¥15 专业问题提问,7月5号2点之前
- ¥25 使用cube ai 导入onnx模型时报错
- ¥15 关于#微信小程序#的问题:用一个网页显示所有关联的微信小程序数据,包括每个小程序的用户访问量
- ¥15 root的安卓12系统上,如何使apk获得root或者高级别的系统权限?
- ¥20 关于#matlab#的问题:如果用MATLAB函数delayseq可以对分数延时,但是延时后波形较原波形有幅度上的改变
- ¥15 使用华为ENSP软件模拟实现该实验拓扑
- ¥15 通过程序读取主板上报税口的数据
- ¥15 matlab修改为并行
- ¥15 尝试访问%1服务的windows注册表时遇到问题。必须先解决此问题,然后才能运行安装过程。(请确认您正在使用管理员权限运行)373