云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > (021)02-03秋试卷及答案

(021)02-03秋试卷及答案

  • 62 次阅读
  • 3 次下载
  • 2026/1/27 3:43:55

int a[100], b[100], n, i, j, t; fp=fopen(\ fscanf(fp, \

for(i=0; i

fscanf(fp, \

fclose(fp);

for(i=0; i

for(j=0; j

if(b[j]

{ t=a[j]; a[j]=a[j+1]; a[j+1]=t;

t=b[j]; b[j]=b[j+1]; b[j+1]=t; } for(i=0; i

printf(\

}

文件test.sat中内容为:

5

1 70 2 90 3 80 4 50 5 60 输出:?

四、程序填空(15分,每填空3分)

(1)、以下函数(fsadd)计算两个分数相加,结构体fs描述一个分数,其成员fenzi与fenmu分别表示分数的分子与分母。试填空以完成fsadd函数。

struct fs /*分数*/

{ int fenzi; /*分子*/ int fenmu; /*分母*/

};

void fsadd( (1) , struct fs *a, struct fs *b ) { r->fenzi = a->fenzi*b->fenmu+ (2) ; r->fenmu = a->fenmu*b->fenmu; }

(2)、以下程序中,函数 create 建立一个单链表,它有10个结点,num 值依次取1到10;函数 list 输出该链表内容。

struct node { int num; struct node *next; }; struct node *create(void) { struct node *p, *q;

5 / 11

int n;

q=NULL;

for(n=1; n<=10; n++)

{ p=(struct node*) (3) ; p->num=n;

(4) ;

q=p;

}

return p; }

void list(struct node *head) { struct node *p;

for(p=head; (5) ; p=p->next ) printf(\ }

main()

{ struct node *head; head=create(); list(head);

}

五、编程题(15分,第1题5分,第2题10分)

(1)、编写一个函数,给定参数 m 与 n,按以下公式返回函数结

?m??if(m,n)??i?1?2m?n?(n?1)(n?1)果。

注意:以下(2.1)与(2.2)任选一题,编程时请注明是2.1或2.2 (2.1)编写一个程序,输入整数 n 和 n个整数,输出 n个整数中重复 2 次的数据。(n<=20)

如输入为:12 1 2 5 7 2 5 4 7 5 6 9 6 则输出为:2 7 6

(2.2)、假设已提供了2 个函数,函数说明如下:

int getweek(int year, int month, int day);

6 / 11

int getdays(int year, int month);

getweek返回指定年(year)、月(month)、日(day)的星期值,星期日为0,星期一为1,星期六为6。例如2002年1月2日为星期三,函数getweek(2002, 1, 2)的返回值为3。getdays返回指定年月的天数,如2002年1月为31天,getdays(2002, 1)返回31。试利用以上函数参照以下2002年1月的日历样本编写函数。

日 一 二 三 四 五 六

(第1周) 1 2 3 4 5 (第2周) 6 7 8 9 10 11 12 (第3周) 13 14 15 16 17 18 19 (第4周) 20 21 22 23 24 25 26 (第5周) 27 28 29 30 31 ① 编写一个函数(weeknum),返回指定年(year)、月(month)、日(day)在当月所在的周次。如2002年1月15日为1月份的第3周。 ② 编写一个函数(weekrange),能计算指定年(year)、月(month)、周次(week)的日期范围。如2002年1月份的第4周是从20日到26日,第1周从1日至5日,第5周从27日至31日。

注:星期日为一周的第一天,星期六为一周的最后一天。编程时,可不必考虑参数为无效值时的情况。

7 / 11

上海大学2002-2003年秋季学期试卷答题纸 课程名: 程序设计基础(C) 学分: 5

学号: 姓名: 学院:

题号 题分 得分 考生注意: 一 30 二 12 三 24 四 18 五 16 总分 100 1. 试卷和答题纸上的“学号、姓名、学院”都要填上;

2. 所有答题内容都写在答题纸上,交卷时将试卷和答题纸一起交上; 3. 不遵守上述者将不给予登记考试成绩。 小题号 第 一 题 答 栏 (填空题) 1 x=101,y=99,z=299 2 202.5 3 0000 0000 0011 0100 4 (a&&b)||(!a&&!b) 5 (x>=0)?(x+1):(x-1) 6 x=a||!b; 7 for(i=0; i<=n-4; i++) 8 SecondLiFirstWang scanf(\9 10 break语句, return语句 评阅人 小计: 得分 第 二 题 答 栏 (改错程序) 改错点 错误所在行 修 改 后 程 序 行 5 1 rst=1; 6 2 for(i=1; i<=n; i++) 8 3 if(*q<'a'||*q>'z') 13 4 return p; 19 5 puts(fword(buf)); 评阅人 小计: 8 / 11

搜索更多关于: (021)02-03秋试卷及答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

int a[100], b[100], n, i, j, t; fp=fopen(\ fscanf(fp, \for(i=0; i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com