struct student stu[100];
int N,i;
scanf(\
for(i=0;i GetName(stu[i].name); if(i GetScore(&stu[i].score); else GetScoreLast(&stu[i].score); } sort(stu,N); print(stu,N); } H21:数码管(选作) 成绩: 10 / 折扣: 0.8 背景 数码管是一种廉价的十进制数字显示装置,它的基本工作原理是:一个数码管有 7 段,我们将它对应成八位二进制的 8 位。这 8 位的编号从左向右分别是 7、6、5、4、3、2、1、0。数码管的一段对应二进制的一位,如果要点亮某一段,则需要将相应的二进制位置 1,其余不亮的段要将对应的位置 0。下图表示了 7 个二进制在数码管上对应的位置: 2 +---+ 3| |4 | 1 | +---+ 5| |6 | 0 | +---+ 例如,我们要显示出数字“1”,则应该点亮数码管的第4和6段。这样对应的8位二进制数就是:0101 0000。如果用十六进方式表示出来就是 50。 同理,要显示出“3”,应该点亮:0、1、2、4、6;对应的二进表示为:0101 0111,用十六进制表示就是 57。 请编写一个程序,用 5 个数码管显示一个 16 位 (bit) 的正整数。 说明:如果需要显示的数据不足5位,则在数据前面补0。例如120要显示为00120。 输入 程序的输入是一系列 16 位(bit)的正整数(10进制形式),数与数之间允许用空白符隔开,当数字为 0 时程序结束。 输出 针对每个正整数,输出 5 个字节的十六进制数,它们可以表示 5 个数码管的状态。其中右侧第 1 个数表示输入数字的个位,第 2 个数表示十位,以此类推。 时间限制内存限制额外进程 1秒 64M 0 测试输入 期待的输出以文本方式显示 以文本方式显示 测试用例 1 1. 10103? 2. 30301? 3. 0? 1. 50 7D 50 7D 57? 2. 57 7D 57 7D 50? H21:数码管(选作) 成绩: 10 / 折扣: 0.8 背景 数码管是一种廉价的十进制数字显示装置,它的基本工作原理是:一个数码管有 7 段,我们将它对应成八位二进制的 8 位。这 8 位的编号从左向右分别是 7、6、5、4、3、2、1、0。数码管的一段对应二进制的一位,如果要点亮某一段,则需要将相应的二进制位置 1,其余不亮的段要将对应的位置 0。下图表示了 7 个二进制在数码管上对应的位置: 2 +---+ 3| |4 | 1 | +---+ 5| |6 | 0 | +---+ 例如,我们要显示出数字“1”,则应该点亮数码管的第4和6段。这样对应的8位二进制数就是:0101 0000。如果用十六进方式表示出来就是 50。 同理,要显示出“3”,应该点亮:0、1、2、4、6;对应的二进表示为:0101 0111,用十六进制表示就是 57。 请编写一个程序,用 5 个数码管显示一个 16 位 (bit) 的正整数。 说明:如果需要显示的数据不足5位,则在数据前面补0。例如120要显示为00120。 输入 程序的输入是一系列 16 位(bit)的正整数(10进制形式),数与数之间允许用空白符隔开,当数字为 0 时程序结束。 输出 针对每个正整数,输出 5 个字节的十六进制数,它们可以表示 5 个数码管的状态。其中右侧第 1 个数表示输入数字的个位,第 2 个数表示十位,以此类推。 时间限制内存限制额外进程 1秒 64M 0 测试输入 期待的输出以文本方式显示 以文本方式显示 测试用例 1 1. 10103? 2. 30301? 1. 50 7D 50 7D 57? 3. 0? 2. 57 7D 57 7D 50? ins_list( PNODE h, int num ) { PNODE zhu; zhu=(NODE*)malloc(sizeof(NODE)); zhu->data=num; zhu->next=h->next; h->next=zhu; } 52 链表处理* 成绩: 10 / 折扣: 0.8 编写一个函数,给定的带有头结点的单向链表 head,给定某结点的数据域值 m,将该结点移到链首。 结构的定义: typedef struct node { int num; struct node *next; } SNODE; 函数的原型:SNODE *movenode(SNODE *head, int m); 其中:参数 head 是单向链表的头指针;参数 m 是某结点的num成员的值。 例如输入结点数 n=7,则将结点数值域值 m=5 的结点移动到链首。函数运行前后链表的情况如下图所示。 预设代码 前置代码 view plaincopy to clipboardprint? 1. 2. 3. 4. 5. /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ #include 6. typedef struct sdata 7. { int num; 8. struct sdata *next; 9. } SNODE; 10. 11. void movenode( SNODE *, int ); 12. 13. void setlink( SNODE * head, int n ) 14. { 15. SNODE *p; 16. 17. while ( n > 0 ) 18. { p = ( SNODE * ) malloc( sizeof( SNODE ) ); 19. p->num = n; 20. p->next = head->next; 21. head->next = p; 22. n --; 23. } 24. } 25. 26. void outlink( SNODE * head ) 27. { 28. while( head->next != NULL ) 29. { 30. head = head->next; 31. printf( \, head->num ); 32. } 33. return; 34. } 35. 36. int main( ) 37. { int n, m; 38. SNODE * head = NULL; 39. 40. scanf(\, &n, &m ); 41. head = ( SNODE * ) malloc( sizeof( SNODE ) ); 42. head->num = -1; 43. head->next = NULL; 44. setlink( head, n ); 45. 46. movenode( head, m ); /* This is waiting for you. */ 47. 48. outlink( head ); 49. printf(\); 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库北理C语言作业及答案3(7)在线全文阅读。
相关推荐: