C语言入门学习C上机实验十一要求.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上机实验十一 函数、结构体综合应用 【实验十参考答案  见后 】 目的和要求: ( 1)熟悉结构体的基本语法及基本应用; ( 2)继续熟悉函数调用; ( 3)熟悉省考、国考题型。 实验内容: 一、完善程序题 1.全国二级 C 程序填空题(即完善题) : 人员的记录由编号和出生年、月、日组成, N 名人员的数据已在主函数中存入结构体数组 std 编号唯一。函数 fun 的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号 不存在,返回数据中的编号为空串。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 【 typedef 的功能是:用新的名字替代原类型名,使用格式如下: typedef 原类型名 新类型名 ;  中,且 例如: #include #include #define typedef  typedef float single; single x; /* 此句等价于 <stdio.h> <string.h> N 8 struct  float x; */  】 { char num[10]; int year, month, day ; }STU ; //【注意:考试时 不能删除“  ”】 ___1___ fun(STU *std, char *num) { int i; STU a={"",9999,99,99}; for (i=0; i<N; i++) /**********found**********/ if( strcmp(___2___ ,num)==0 ) /**********found**********/ return (___3___); return a; } main() { STU std[N]={ {"111111",1984,2,15},{"222222",1983,9,21},{"333333",1984,9,1}, {"444444",1983,7,15},{"555555",1984,9,28},{"666666",1983,11,15}, {"777777",1983,6,22},{"888888",1984,8,19}}; STU p; char n[10]="666666"; p=fun(std , n); if(p.num[0]==0) printf("\n Not found !\n"); else {  printf("\n Succeed !\n  "); printf("%s  %d-%d-%d\n", p.num , p.year , p.month , p.day); } } 2.下列程序完成的功能是:任意读入一个十进制整数,调用子函数将其转换成二至十六进制中任一指定进制的字符串形式。 例如:读入  -46  16 输出  -2E #include <stdio.h> #include <stdlib.h> main() {void tran(int m, int r, int *p); int x, r0; /*r0 为进制基数,只能为  2~16 之间的整数  */ int i, n; /*n 为生成序列的余数个数  */ _________ char ys[50]; printf("  输入十进制整数以及进制基数(  2~16) :\n"); scanf("%d%d", &x, &r0); printf("%d 的 %d 进制形式为 :", x, r0); if(x<0){putchar('-'); x=-x;} if(r0>=2&&r0<=16) {tran(x, r0, ________); for(i=n-1; i>=0; i--) printf("%c", ys[i]); printf("\n"); } else {printf(" 输入的值不符合题意! \n"); exit(0); /*exit 函数可以终止整个程序的运行  */ } } char ys[50];  /* 全局变量 */ void tran(int m, int r, int *pn) {char sb[ ]="0123456789ABCDEF"; int i=0, g; do{g=m%r; ys[i]=sb[______]; m=m/r; i++; }while(m!=0); _________=i; } 二、省考改错题 【程序功能】 统计一个字符串中包含的字母串个数并找出其中最长的字母串。 所谓字母串是指一个连续的字母序列 (不区分大小写) ,字母串之间用非字母字符分隔。 函数 count 的功能是统计 p 指向的字符串中包含的字母串个数,并将找出的最长字母串存放在 pmax 指向

文档评论(0)

187****5086 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档