1.
【程序功能】
验证猜想:当f为41,x分别取1、2、3、4、…、40时,由多项式x2-x+f产生的数均为素数。要求:将多项式x2-x+f产生的40个整数存放在数组a中,然后判断数组a中各元素的值是否为素数,如果是则输出“Yes”,并将这些素数按每行5个数的形式输出;否则,输出“No”。判断一个数是否为素数的功能必须用函数实现。 【测试数据与运行结果】 屏幕输出: Yes 41 43 47 53 61 71 83 97 113 131 151 173 197 223 251 281 313 347 383 421 461 1033 1097 1163 1231 1301 1373 1447 1523 1601 2.
【程序功能】
在已有的一份姓名登记表中删除重复出现的姓名,输出处理后和姓名登记表。 【编程要求】
1)编写函数int del_name(char s[][20], int n)。函数功能:在s指向的数组前n行中存储的n个字符串中删除重复出现的字符串,只保留第一次出现的字符串,函数返回s指向的数组中剩余的字符串个数。
2)编写函数main()。函数功能:声明name并用测试数据初始化,用name作实参调用函数del_name,将经过删除后name数组中剩余的字符输出到屏幕。 【测试数据与运行结果】 测试数据:
\,\,\,\,\,\,\,\,\,\屏幕输出: Ann Belle David Mary Ken Mark 3.
【程序功能】
核对密码。
首先在用户输入的表示密码的字符串中,找到ASCII编码值最大的字符并在其后插入子串\;然后再用加工后的密码字符串与程序内设置的密码作对比,若相同则输出“right”及用户输入的密码;若不相同则提示用户重新输入密码。用户三次输入的密码均不正确时终止程序的运行。
【测试数据与运行结果】
输入:love
屏幕输出:wrong! you have 2 chances! 输入:lo
屏幕输出:right! your password id:lo 4.
【程序功能】
将一个n阶方阵(n为偶数)分为四个n/2阶子方阵,然后将4个子方阵按顺时钟方向轮转一次。如下图所示。
【编程要求】
1)编写函数void cycle(int a[][10], int m)。函数功能:将a指向的数组中存储的n阶方阵分成四个方阵(如上图所示),对矩阵做一次顺时钟轮转操作,轮转后的n阶方阵仍保存在a指向的数组中。
2)编写main()。函数功能:声明一个10行10列二维数组,输入方阵阶数n(n≤10且为偶数),在二维数组中生成一个n阶方阵(数组元素的值按行顺序置为1-n2)。用二维数组作实参调用cycle函数。将二维数组中存储的经过轮转操作后的方阵输出到屏幕。 【测试数据与运行结果】 输入: n=6 屏幕输出:
5.
【程序功能】
查找介于n1与n2(0 n1=900 n2=1200 屏幕输出: 911 919 929 977 991 997 1009 1013 1019 1021 1031 1033 1051 1061 1091 1103 1109 1123 1129 1153 1163 1187 1193 6. 【程序功能】 字符串变换。 【编程要求】 1) 编写函数void change(char *a,char *b,char *c)。函数功能是首先把b指向的字符串逆向存 放,然后将a指向的字符串和b指向的字符串按排列顺序交叉合并到c指向的数组中,两个字符串中过长的剩余字符接在c指向数组的尾部。例如,当a指向的字符串为 \,b指向的字符串为\时,C指向的数组中字符串应为\。 2)编写main函数。函数功能是声明字符型数组s1、s2和t,用测试数据初始化数组s1和s2,再用s1、s2和t作为实参调用函数change,将数组s1、s2和t中的字符串输出到屏幕。 【测试数据与运行结果】 测试数据: s1:abcdefg s2:1324 屏幕输出: s1:abcdefg s2:4231 The result is:a4b2c3dlefg 7. 【程序功能】 统计一个字符串中包含的字母串个数并找出其中最长的字母串。 所谓字母串是指一个连续的字母序列(不区分大小写),字母串之间用非字母字符分隔。函数count的功能是统计p指向的字符串中包含的字母串个数,找出的最长字母串存放在pmax指向的数组中,函数返回字母串的个数。 【测试数据与运行结果】 测试数据:you are teaeher234too. 屏幕输出: a=you are teacher234too. number is 4 max string is:teacher 8. 【程序功能】 将一个二维数组中的若干行数据按要求插入到另一个二维数组中。 【编程要求】 1)定义符号常量N代表4 。 2)编写函数int insert_row(int a[][N],int n,int b[][N],int m)。已知形参a指向的二维数组(简称a数组)前n行数据已按每行数据之和升序排列,形参b指向的二维数组中有m行数据。insert_row函数实现将b数组中m行数据插入到a数组中,完成插入操作后a数组中所有行的数据仍按每行数据之和升序排列。函数返回a数组中有效数据的行数。 3)编写main函数。函数功能是声明两个二维数组x和y并用测试数据初始化,用x和y 数组作为实参调用insert_row函数将y数组中的两行数据插入到x数组中。输出x数组中全部数据到屏幕。 【测试数据与运行结果】 测试数据: x数组原数据: 2 2 3 4 9 10 11 12 y数组数据: 1 3 5 7 5 10 15 20 屏幕输出: 2 2 3 4 1 3 5 7 9 10 11 12 5 10 15 20 9. 【程序功能】 判断一个N*N方阵(N为奇数)是否为魔方阵。魔方阵的判定条件是:方阵中每行、每列、主对角线及副对角线上的数据之和均相等。 例如,以下方阵中,主对角线上的数据8、5、2之和是15,副对角线上的数据6、5、4之和也是15,并且每行、每列数据之和都是15,因此该方阵是魔方阵。 8 1 6 3 5 7 4 9 2 【测试数据与运行结果】 屏幕输出: 8 1 6 3 5 7 4 9 2 The Array x is a magic square. 1 2 3 5 6 4 9 8 7 The Array x isn’t a magic square. 10. 【程序功能】 检查一个字符串中所有数字字符所对应的整数(例如,字符’1’所对应的整数为1,其他依此类推)之和是否为3的倍数;判断该字符串是否回文字符串(回文字符串:正序和倒序相同的字符串。例如,”ab121ba”是回文字符串)。 【编程要求】 1)编写函数int palindrome(char *str,char *r)。函数功能:①检查str指向的字符串中所有数 字字符所对应的整数之和是否为3的倍数,若是则将”yes”存储到r所指向的数组中,否则将”no”存储到r所指向的数组中。②判断str所指向的字符串是否回文字符串,若是则函数返回1,否则返回0。 2)编写main函数。函数功能:声明字符型数组a和r,输入一个字符串到a数组,用a、r作实参调用palindrome函数,若字符串中所有数字字符所对应的整数之和是3的倍数且字符串又是回文字符串,则输出该字符串及”yes”到屏幕中,否则输出”no”到屏幕。 【测试数据与运行结果】 测试数据:33abba66 屏幕输出:no 测试数据:121aba121 屏幕输出:no 测试数据:12abcba21 屏幕输出:yes 11. 【程序功能】 按学生所在系分类统计学生课程成绩。 【编程要求】 1)学生成绩结构体 struct ST { char na[20]; /*姓名*/ char d[10]; /*系名*/ int m; /*课程成绩*/ }; 2)成绩统计结构体 struct CT { char d[10]; /*系名*/ int m; /*及格人数*/ }; 3)int Countif(ST s[], CT a[]) 函数功能是对s指向的已按“系名”有序排列的结构数组中前n个元素按“系名”分类统计课程及格人数。将所有“系名”和各系及格人数保存到a 指向的结构数组中,函数返回a指向数组中有效数据元素的个数。 4)main函数中的结构数组st中存储了5个学生的课程成绩并按“系名(成员d)”有序排列,调用Countif函数按“系名”统计课程及格人数。 【测试数据与运行结果】 测试数据: ST st[5]={{\,50}}; 屏幕输出: Phys:1 Cham:2 12. 【程序功能】 将一个任意整数做如下操作:⑴将组成该整数的每个数字由大到小排列成一个最大数,由小到大排列后构成一个最小数;⑵将最大数和最小数保存到指针pmax和pmin指向的变量中。 【编程要求】 1)编写int getbit(int n)函数,用来求任意整数n的位数。 2)编写void maxmin(int n, int m,int *pmax, int *pmin)函数,n表示任意整数,m表示该整数的位数,并将生成的最大数和最小数保存到指针pmax和pmin指向的变量中。该函数需要将整数n每一位都分解出来,并将每一位存放到一个整型数组的对应元素内,该整型数组需要动态分配内存空间,其数组长度即整数n的位数m。接着将整型数组排序,并将各元素重新组合成一个最大数和最小数。 3)编写main函数,其中需要定义变量max和min,调用maxmin函数时,将形参pmax指向max,形参pmin指向min。 【测试数据与运行结果】 测试数据:n=8539 屏幕输出:max=9853,min=3589 13. 【程序功能】 求10~200内的的所有反素数并按每行5个的形式输出。 对于任意大于2的正整数x,若当0 1)编写函数int fun(int *a)。函数功能:将10~200范围内的所有反素数依次存储到a指向的数组中,函数返回反素数的个数。 算法提示:编写函数int g(int n)求一个整数n的约数的个数。 2)编写函数main()。函数功能:声明一个一维数组a,,用数组a作实参调用fun函数,按每行5个数的形式输出a数组中的数据到屏幕。 【测试数据与运行结果】 屏幕输出: 12 24 36 48 60 120 180 14. 【程序功能】 实现一个函数void csort(char str[][N],int n),用来对str指向的二级数组前n行中存储的n个字符串分别做如下处理:从中间将字符串一分为二,左半部分字符子串按字符的ASCII码从大到小排序(若字符串长度为奇数,则中间字符不参加排序)。 【测试数据与运行结果】 测试字符串: “abcdefgh”,“123498765” 屏幕输出: dcbaefgh 432198765 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库课程设计在线全文阅读。
相关推荐: