上海市计算机二级考试(C语言)复习资料题目(14)
19. 以下程序输入一个字符串,将输入字符串中的字符‘a’替换为‘SHU’,并输出替换的结果。
# include
void replace(char *src, char *dest) { int i, j;
for(i=j=0; ① ; i++)
{ if(*(src+I)!=’a’) *(dest+j++)= ② ; else { *(dest+j++)=’S’; *(dest+j++)=’H’; *(dest+j++)=’U’; } }
*(dest+j)= ③ ; } main()
{ char*strin[81], *strout[81]; gets(strin);
replace(strin, strout); puts(strout); }
20. 以下程序功能是在二维表中根据用户输入的学生姓名查找成绩。 #include
{ int i,j,score[3][4]={{65,57,70,60},{50,87,90,81},{90,99,100,98}}; char name[4],*all_name[]={\张三\李四\王五\ do
{ printf(\ gets(name);
for(i=0;i<=2;i++)
if( ① )==0) break;
if(i<3)
{
printf(\的成绩为:\② ); for(j=0;j<4;j++)
printf(\ printf(\ } else
printf(\没有这个人\\n\ printf(\你还想查别的成绩吗?(y/n)\ } while( ③ ); }
21. 本程序用于按升序动态生成链表。每个结点内仅存放一个数据(相当于学号)和一个指针变量,数据是负数则丢弃,数据是0 则表示输入结束,数据输入时可随意,由程序自动调整成升序排列,请填空。 #include
struct st *next; };
struct st *insert(struct st *head,struct st * new) { struct st *p,*pre; p= ① ;
while (p->num
p= ② ; }
if (p->num>new->num) /* find insert point */ { if(p==head) /* new as first */ head=new; else
pre->next=new; /* new as general point insert */ new->next= ③ ; /* new_point < p_point */ } else
{ p->next=new; /* new as end_point */ new->next=NULL; }
return head; /* return head point */ }
struct st *create()
{ struct st *head,*p,*pre; head=NULL;
p=(struct st*)malloc( sizeof(struct st) ); do
{ scanf(\ if (p->num<0) printf(\ while (p->num<0);
while (p->num!=0) /* data=0, input finish */ { if (head==NULL) /* head is first_point */ { head=p;
head->next=NULL; }
else /* insert a point, return a head */ head=insert(head,p);
p=(struct st*)malloc(sizeof(struct st)); /* assign a block */ do
{ scanf(\ if (p->num<0) printf(\ while (p->num<0); }
return head; }
void printlink(struct st *head) { struct st *p; p=head;
while(p!=NULL)
{ printf(\ p=p->next;
} }
main()
{ struct st *head,*p;
head=create(); /* 创建链表,返回首结点 */ p=head;
printlink(p); /* 打印链表 */ }
22. 本程序主函数通过调用create()函数建立一个职工链表,每个结点的数据包括职工工号和工资(都使用整型);输入工资数0表示数据输入结束。链表建立后,主函数又调用list()函数打印输出链表的全部结点的职工工号和工资。
#include “stdio.h” struct worker { int num; float pay
struct worker *next;
};
int n; main()
{ struct worker *head, *create(); void list(struct worker *); head = create(); list(head); }
struct worker *create( )
{ struct worker *head, *p1, *p2;
printf(“Create a linked list:\\n”);
head = 0; n = 0;
p1 = p2 =( struct worker *)malloc(sizeof(struct worker)); scanf(“%d%d”, &p1->num, &p1->pay ); while( ① ) { n++;
if(n ==1 ) _____②________; else ______③__________; p2 = p1;
p1 = (struct worker *)________④____________; scanf(“%d%d”, &p1->num, &p1->pay );
}
p2->next = 0; return head; }
void list(struct worker *p)
{ printf(“The linked list:\\n”); while(_____⑤_____)
{ printf(“\\n%d\\t%d”, p->num, p->pay); ________⑥________;
} }
23. 下列程序中,函数fun的功能是:将s所指字符串的反序和正序进行连接,形成一个新
串放在t所指的数组中。例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。 #include
void fun(char *s,char ① ) { int i,d;
d=strlen( ② ); for (i=0; i t[d+i]= ④ ; t[2*d]= ⑤ ; } main() { char s[100],t[100]; clrscr(); printf(\ fun(s,t); printf(\} 24. 下列程序中,函数fun的功能是:利用插入排序法对字符串中的无序字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,?待排序的字符串已在主函数中赋予。 例如:对字符串 QWERTYUIOPASDFGHJKLMNBVCXZ 调用函数后成为 ABCDEFGHIJKLMNOPQRSTUVWXYZ #define N 80 #include void insert(char ① ) { int i,j,n; char ch; n=strlen(aa); for (i=1; ② ;i++) { ch=aa[i]; j=i-1; while ((j>=0)&&( ③ )) { aa[j+1]=aa[j]; j--; } aa[ ④ ]=ch; } } main() { char a[N]=\ int i; printf(\ insert( ⑤ ); printf(\} 25. 对不同的被积函数使用数值积分,这个数值积分的算法由被调用函数实现,其中函数指针所指的函数可以是诸多的被积函数。而调用函数就是对不同的被积函数实施数值积分,调用函数在事实上是嵌套调用了这类被积函数。见下例: #include double integral(a,b,n,f) /* 这是被调用函数,完成数值积分 */ double a,b,(*f)(); int n; /* 使用了指针函数,可使被积函数作为实参 */ { double h,y; int i; y=0.0; h=(b-a)/n; for (i=0;i<=n-1;i++)
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




