计算机操作系统 东北石油,计算机程序设计训练(东北石油大学).doc

PAGE

东北石油大学

计算机程序设计训练

院 系

院 系 电气信息工程学院

专业班级 测控**

学生姓名 ***

学生学号 ***

指导教师 段志伟、曹广华

2014年6月28日

程序设计训练任务书

课程 C计算机程序设计训练

专业 测控 姓名 *** 学号 ***

主要内容:

【程序 1】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

【程序2】题目:文件操作,要求以二进制方式打开命令行参数中指定的文件,并将二进制方式读取的文件数据(0和1)存储为文本文件,即文件内容是ASCII的0与1方式。

【程序 3】题目:空间直角坐标系变换程序,在空间直角坐标系中,如果保持原点不动,x轴偏转度,y轴偏转度,求z轴偏转的角度以及z轴在原坐标系中XY平面的投影.

【程序 4】题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

【程序 5】题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

【程序 6】题目:要求设计一个程序对从键盘输入一个字符串str,str长度小于99,然后在屏幕打印出一个新字符串,新字符串的构成为AABB10strXCCDD,其中AABB和CCDD是开始标志和结束标志,第5、6位是字符串str的长度,X是整个字符串的逻辑异或结果。

【程序 7】题目:要求设计一个程序提取程序6的输出字符串中的内容,并打印到屏幕上。

【程序 8】题目:使用递归方式求解hanoi塔问题。

【程序 9】题目:设计两个链表,分别输入2个和3个数据,然后连接两个链表,采用搜索的方式找出链表中最大值与最小值。

【程序10】题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

【程序11】题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。

【程序12】题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。

基本要求:

至少完成10个程序,程序运行结果正确

程序可读性好,要有注释

所有程序完成后,统一保存为.c文件,用winrar压缩后发送到邮箱dqzly@163.com

撰写训练报告,7月10日交到自动化馆104

完成期限 201*年7月1**号

指导教师 ***

201*年6 月**日

计算机程序设计训练

PAGE 4

目 录

TOC \o "1-3" \h \z \u [程序1] 2

[程序2] 3

[程序3] 5

[程序4] 6

[程序5] 7

[程序6] 8

[程序7] 9

[程序8] 11

[程序9] 12

[程序10] 13

[程序1]

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

思路:随机产生一个数组再排好顺序,输入一个数与原数组中的数作比较,符合条件的数后面的数都往后移动一个位置,空出一个位置留给输入的数.再输出.

程序:

#include

#include

#include

main()

{

int n,a[100],i,j,t;

srand(time(0));

for(i=0;i<10;i++)

a[i]=rand()%100+1; //随机产生十个数

for(i=0;i<9;i++) //排序

for(j=i+1;j<10;j++)

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

for(i=0;i<10;i++)

printf("%5d",a[i]); //输出

printf("\n");

scanf("%d",&n);

for(i=0;i<10;i++)

if(n

for(j=10;j>i;j--) //将大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值