c语言实现数据结构与算法的上机真题,数据结构与算法课程C语言上机考试题—2011.docx...

1、从键盘输入 10 个整数,用冒泡法对这 10 个数排序(由小到大)后输出

2、从键盘输入 10 个整数,用选择法对这 10 个数排序(由大到小)后输出。

3、对于一个自然数, 如果该数的所有因子之和正好等于该数, 则该数称为完数。 统计 1000 以内的完数个数。

4、编写主函数和一个函数 int diff(int year, int m1, int d1, int m2, int d2) 。( 1)函数 diff计算year年的ml月di日至m2月d2日之间相隔的天数(假设 m1v=m2); (2) 主函数中输入某年的两个日期,调用 diff 函数计算它们之间相隔的天数,并输出。

5、编写主函数和一个函数 void merge(int *a, int *b, int c[]) 。要求是:( 1)函数 merge 对两个已是升序的数组 a、b 进行归并,归并后的结果仍然是升序的,并通过 形参c返回;(2)主函数:定义长度为5的数组a,并升序初始化;定义长度为8的 数组b,并升序初始化;调用 merge函数对数组a、b进行归并,输出归并结果。

6、从键盘输入一个0?99999之间的整数。

判断它是一个几位数;

将该数的各位数字按逆序输出。

7、输入一行字符,统计其中有多少个单词并输出,单词之间用空格符分隔开

8、输入 10 个整数,判断它们是否为素数。要求:编写一个函数 int prime(int m)

来判断形参变量 m 是否为素数,如果是素数则返回 1,否则返回 0

9、输入 10 个学生的成绩,求平均成绩。要求控制成绩输入的正确性,即控制

输入的成绩必须为0~ 100分。

10、编写主函数和一个函数 int mon thDay(i nt year, i nt mon th)。(1)函数 mo nthDay

计算year年mo nth月的天数,并返回;(2)在主函数中输入一个日期(年、月、日), 计算该日是当年的第几天(说明:需要调用mo nthDay函数)。

11、写两个函数 int gcd(int m, int n) 和 int lcm(int m, int n) ,分别求两个正整数 m 和 n 的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个正 整数的值在主函数中从键盘输入。

12、有 0、 1、 2、 3、 4 五个数字,能组成多少个互不相同且无重复数字的三位

数?并计算这些三位数之和。

13、输出 2 至 1000之间的所有同构数,所谓同构数是指它出现在它的平方数的 右端。例如, 5、 6、 25的平方分别等于 25、 36、 625,所以 5、 6和25都是同构数。

14、编写一个函数,将一个数插入到已是升序的数组中,且插入后该数组仍是

升序数组。 已是升序数组的内容由主函数给出,待插入的数在主函数中输入。

15、编写一个程序,用折半法查找某数是否在给定的升序数组中,如果在则输 出“ Find success”! 并输出它是第几个数,否则输出“ No find! ”。

16、编写一函数 int substr(char *str, int begin, int len, char *p) ,将字符串 str 的第 begin 个字符开始的 len 个字符复制到另一个字符串 p 中,并返回成功复制字符的个 数。要求在主函数中输入原始字符串及截取字符串的起始位置和长度,并输出被截 取的字符串及其长度。

17、有 4个学生,每个学生有 5门课程的成绩,编写一个程序计算每一个学生 5 门课程的平均成绩。

18、有 4 个学生,每个学生有 5 门课程的成绩,编写一个程序统计每一个学生 有几门不及格的课程。

19、有 4个学生,每个学生有 5门课程的成绩,编写一个程序计算每一门课程 4

个学生的平均成绩

20、有 4 个学生,每个学生有 5 门课程的成绩,编写一个程序统计每一门课程 有几个不及格的学生。

21、编写主函数和一个 递归函数 int sum(int a[], int n) 。要求是:( 1)函数 sum 求 数组a中前n个元素之和,并返回该和值。(2)主函数中输入10个正整数给数组, 调用sum函数求数组中的10个元素之和,并输出该和值。

22、 编写主函数和一个递归函数int max(int a[], int n)。要求是:(1)函数max 求数组a中前n个元素中的最大值,并返回该最大值;(2)主函数中输入10个正整 数给数组,调用max函数求数组中10个元素的最大值,并输出该最大值。

23、 编写主函数和一个递归函数int decomp(int n)。要求是:(1)函数decomp 顺序输出 n 的各位数,并返回它是一个几位数; (2)主函数中输入一个不超过 8 位 的正整数,调用d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值