版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档随意编辑(1) 将两个两位的正整数 a、b 合并形成一个整数放 在 c中:将 a 的十位和个位数放在 c 的千位和十位, b 的十位和个位数放在 c 的百位和个位。 例如: 若 a = 45, b = 12,使 c = 4152。void fun(int a, int b, int *c)/ c 是指针*c=a/10*1000+b/10*100+a%10*10+b%10;(2) 判断整数 x 是否是同构数(规定 x 是不大于 100 的正整数)。若是,函数返回 1,否则返回 0。如果 某个整数能够在它的平方数的最右边出现,就是“同构数”。例如:5 的平方数是 25 , 5 是 25 右
2、边 的数,所以 5 是同构数。int fun (i nt x)return (x = 10 & x*x%100 = x);(3) w 是大于 10 的无符号整数,求 w 后 n-1 位的数 作为函数值返回。例如:若 w 是 234,则返回 34。un sig ned fun(un sig ned w)un sig ned t = w, m = 1;while (t) t /= 10; m *= 10;return w % (m / 10);(4) 对变量 x 中的值保留 2 位小数,并对第 3 位进行 四舍五入(规定 x 中的值为正数)。double fun( double x)ret
3、urn (i nt)(x * 100 + 0.5) / 100.0;(5) 求 n 以内(不包括 n )同时能被 3 和 7 整除的所 有自然数之和的平方根,并作为函数值返回。double fun (i nt n)3.整除和素数inti;问题double s = 0;for (i = 1; i n; i+)if (i % 3 = 0 & i % 7 = 0)s += i;return sqrt(s);/ 平方根求 1 到 m 之内(含 m)能被 7 或 11 整除的所 有整数放在数组 a 中,通过函数返回这些数的个数。int fun (i nt *a, int m)int i, j =
4、 0;for (i = 1; i = m; i+)if (i % 7 = 0 | i % 11 = 0)aj+ = i;/ j+ 模式return j;(7) 求 3 到 n 之间所有素数的平方根之和,并返回。double fun (i nt n)int i, k;double s = 0;for (i = 3; i = n; i+)for (k = 2; k i; k+)/ 判断素数if (i % k = 0) break;/ 整除中止if (i = k) s += sqrt(i);/ 是素数return s;(8) 求出小于或等于 lim 的所有素数并放在 a 数组 中,该函数返回所求的素
5、数的个数。int fun(int lim, int aMAX)int i, k, j = 0;for (i = 2; i = lim; i+)精品文档随意编辑for (k = 2; k i; k+)if (i % k = 0) break;精品文档随意编辑s += ai;retur n s / n;(9)将大于整数 m且紧靠 m的 n个素数存入 的数组中。(13)返回 a 数组 n 个学生中低于平均分的人数,并 将低于平均分的分数放在b 所指的数组中。void fun (i nt m, int n, int x)int fun(int a , int n, int b)int i, k, j
6、= 0;for (i = m + 1; j n; i+)for (i = 0; i n; i+)if (i % k = 0) break;for (i = 0; i n; i+)for (k = 0; k sm) m = i;*k = m;double s = 0;if (k = i) aj+ = i;/ j+模式for (i = 0; i n; i+)s += ai - (in t)ai;/原数-整数for (i = 0; i N; i+)(12)计算并返回 a 数组中 n 门课程的平均分。int i, m = 0;return j;x 所指int i, j = 0;double s = 0
7、;for (k = 2; k i; k+)s += 1.0 * ai / n;/平均分for (i = 0; i n; i+)if (k =i) xj+/ j+模式if (ai s) bj+ = ai;return j;/ j+模式(10)求数组前 n 个数的小数部分的和,并返回。double fun (i nt n, double a)int i;double s = 0;(14)求 N XN 的二维数组周边元素的平均值并作为 山诵数值返回给主函数。4.求 总和 均值 极值double fu n(int aNN)int i, k;double s = 0;return s;(11)把 a 数
8、组的 n 个数的平方值, 的n 个数的平方值一一对应相加,与 b 数组中逆序存放在 c 数组中。void fun(int a , int b , int c , int n)k=N-1)if (i=0|k=0|i=N-1|s += aik;return s / (4*N-4);/除以个数int i;for (i = 0; i n; i+)for (i = 1; i t; i+)int i;精品文档随意编辑(16) 求出数组aMN里每列中的最小元素, 并依 次放入 bN数组中。void fun(int aMN, int bN)int i, k, m;for (k = 0; k N; k+)/ 共
9、 N列(19)根据以下公式计算 s,结果由函数值返回。s = I) + ln(2)+ ln(3)+ln(m)double fun (i nt m)int i;double s = 0;m = a0k;for (i = 0; i M; i+)if (aik m) m = aik;bk = m;(17) 求 Fib on acci 数列中大于 t 的最小的一个数,结果由函数返回。其中数列f(n)的定义为:f(0) = 0 ,f(1) = 1 ,f(n) = f(n-1) + f(n-2)int fun(int t)int a = 0, b = 1, c = 0;while (c = t)c = a
10、 + b; a = b; b = c;return c;(18) 根据以下公式求 P 的值,结果由函数值带回。$二沁float fun (i nt m, int n)int i;float x = 1, y = 1, z = 1;for (i = 1; i = m; i+) x *= i; / m!for (i = 1; i = n; i+) y *= i;/ n!for (i = 1; i = m-n; i+) z *= i;/(m_n)!retur n x / y / z;for (i = 1; i = m; i+) s += log(i);return sqrt(s);(20)计算下列级
11、数和,结果由函数值返回。若 x = 0.3,n = 10,则函数值为 1.349859。double fun( double x, int n)int i;double s = 1, z = 1, m = 1;for (i = 1; i = n; i+)s += (z *= x) / (m *= i);return s;(21) 根据以下公式计算 s,结果由函数值返回。 二1-+-+ ” +-1 + 2 1 + 2 + 31 + 2 + 3+ 4float fun (i nt n)int i, t = 0;/ t 作分母float s = 0;for (i = 1; i = e)阵问题s +=
12、 v;void fun (i ntaNN)(25)把二维数组左下角元素全置为女口:原来值为:4 9 2则返回:v *= n+ / (2* n+1);return s * 2;(23)求给定 10 个数的方差,结果作为函数值返回:int i, k;for (i = 0; i N; i+)for (k = 0; k = i; k+)aik = 0;/循环至 i 列其中 X是 10 个数的平均值。double fu n(double x10)int i;double v = 0, s = 0;for (i = 0; i 10; i+)v += xi / 10;/ v 是平均值for (i = 0;
13、i = 1e-6);return x1;(26)矩阵转置,如:输入10 20 30输出1040 70(即行列互换)40 50 6020508090t;70 80 903060void fun (i ntaNN)int i, k, t;for (i = 0; i N; i+)for (k = 0; k i; k+)/ 至 i-1t = aik; aik = aki; aki=(27)将 M 行 N 列的二维数组中的字符数据,按列ABCD0EFGH0的顺序依次放到一个字符串中。例如:s 数组中存放贝 y a 中应保存AEBFCGDH。void fun(char sMN, char *a)int i
14、, k, j = 0;for (k = 0; k N - 1; k+)/跳过0列精品文档随意编辑精品文档随意编辑for (i = 0; i M; i+)a j = 0:(28) 一维数组 a 中有 n 个整数,小于等于 n-1 )的数组元素平移到数组的最后。(31)统计字符串中单词的个数, 作为函数值返回。字符串在主函数中输入,规定单词之间由若干空格 隔开,一行的开始和结束都没有空格。int fun( char s)if (si != & (si+1 = | si+1=0)for (i = 1; i n; i+)if (ai != am-1-i) return 0;while (a0
15、= *)int fun( char *a, char *b)void fun (i nt a , i nt p, intn)int i, k, t;for (k = 0; k = p; k+)7.移动数组元)素int i, n = 0;for (i = 0; i strle n( s); i+)/计数器置ai-1 = ai;an-1 = t;/数据前移return n;(29)假定输入的字符串中只包含字母和串中的前导*号全部移到字符串的尾部。(32)判断字符串是否为回文数。若是则函数返回 1 ,否则返回 0。回文是指顺读和倒读都是一样的串。void fun( char *a)*号,将字符力9.
16、字符串回文int fun( char *a)int i, m = strle n(a);for (i = 0; i m / 2; i+)for (i = 1; i n; i+)ai-1 = ai;an-1 = *;/尾部添*(30)统计一个长度为 2 的字符串 中出现的次数。丿(33)统计数组 aw.数 据分 类统 计9 岁的人数放在中,以此类推,a 在另一个字符串中的各年龄段的人数(N 个)。0b0中,1019 岁的人数放在 b1100 岁及以上的放在 b10中。void fun(int *a, int b11)int i;for (i = 0; i 11; i+) bi = 0;/计数器8
17、.统计 子串 个数int i, n = 0;/计数器置n+;for (i = 0; i = 100) b10+;else bai/10+;for (i = 0; i strle n( b); i+)if (bia0 &bi+1a1)(34)统计在t字符串中26个字母a到z各自出现的 次数,并依次放在p 所指的数组中。return n; j+模式/串尾添0把下标从 0 到 p ( pt = a0;n+;int i, n = strlen( a);return 1;精品文档随意编辑void fun( char *t, i nt p)int i;for (i = 0; i 26; i+) p
18、i = 0;/ 计数器置 0for (i = 0; i =a& ti =z)pti-a+;(35)统计在字符串 a 中,以下字符出现的次数,并 存到 b数组中,其中:字符+出现的次数存到b0中,字符-出现的次数存到b1中,字符*出现的次数存到 b2中,字符/出现的次数存到b3中,字符&出现的次数存到b4中,其它字符出现的次数存到 b5中。void fun( char *a, int b)int i;b0 = b1 = b2 = b3 = b4 = b5=0;void fun( char *s)int i;for (i = 1; i = a & si = z)si -=
19、32;/转为大写(38) 将一个字符串转换为一个整数,例:把 456 转换为 456,把-23转换为-23。long fun( char *a)int i = 0, t = 1;long s = 0;if (a0 = -) t = -1; i = 1; /处理负号for ( ; i strle n( a); i+)s = s * 10 + ai - 0;return s * t;(39) 在字符串的所有数字字符前加一个$字符。例如:输入:A1B23CD4,输出:A$1B$2$3CD$4。for (i = 0; i strle n( a); i+)if (ai = +) b0+;else if
20、(ai = -) b1+;else if (ai = *) b2+;else if (ai = /) b3+;else if (ai = &) b4+;else b5+;(36)把字符串 a 中的内容逆置。void fun( char *a)char t;int i, m = strle n( a);/其它字符VI11字符串 转换char tN;int i, j = 0;for (i = 0; i = 0 & si = 9)tj+ = $;tj+ = si;strcpy(s, t);(40)实现字符串连接:把for (i = 0; i m / 2; i+) t = ai; ai
21、 = am-1-i; am-1-i = t; (37)将 s 所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)12.实现字符串p1/ 含0/ j+模式p2 所指的字符串连接到所指的字符串后。不得使用函数void fun (char *p1, char *p2)strcpy(p1 + strle n(p1), p2);或者:strcat。/方法 1void fun( char *s)精品文档随意编辑精品文档随意编辑pl = pl + strlen(pl);/ 方法 2while (*p1+ = *p2+);(41)比较两个字符串长度,返回较长的字符串。若for (
22、i = 0; i = k ? a : b);(42)删除一个字符串中指定位置的字符。其中_ /放原字符串,b 存放删除后的字符串。例如,为World , n 为 3,则使 b 串为Word。void fun( char a , char b , i nt n)strcpy(b, a);strcpy(b+n, a+n +1);(43)将 a 所指字符串中除了下标为偶数、同时值也为偶数的字符外,其余的全都删除;串中剩余 字符所形成的新串放在t 所指的数组中。void fun( char *a, char *t)int i, j = 0;for (i = 0; si; i+)if (si != *)
23、 s j+ = si;/ j+模式sj = 0;/串尾加0(46)字符串中只包含字母和*号,删除字符串中的前 导*号,不得使用字符串函数。void fun( char s)int i = 0, j = 0;while (si = *) i+;/ 找第 1 字母while (sj+ = si+);/ j+ 模式int i, j = 0, m = strle n(a);for (i = 0; i = 0)si = 0;/ 尾部置0(48) 字符串只包含字母和*号,使字符串尾部的*号不得多于 n 个;若多于 n 个,则删除多余的*号; 若少于或等于 n 个,则什么也不做。字符串中间和 前面的*号不长
24、度相同,则返回第一个串。char *fun( char *a, char *b)int i = 0, k = 0;while (ai) i+;while (bk) k+;不得使用函数 strlen。数/ a/ b14.删除星号 串长度号return j;(45)字符串中只包含字母和*号,删除字符串中所有 的*号,不得使用字符串函数。串长度 N void fun(char s)13删 除指 定数 据ASCIIint fun (i nt a , i ntn)int i, j = 0;精品文档随意编辑删除。不得使用字符串函数。精品文档随意编辑void fun( char *a, int n)int
25、i = 0, t = 0, v;while (ai) i+;II后移到0v = i;II 存串长度if (strlen(ai) strlen(*max)*maxai;while-i = * & i = 0)t+;II 计*号个数if (t n) av-(t-n) = 0:II 截断串(52)对 a 数组中长度为 n 个字符的字符串, 除首尾 字符外,将其余 n-2 个字符按 ASCII 码降序排列。J16.排序问题void fun( char *a, int n)char t;(49)字符串只包含字母和*号,除了字符串前导的 号之外,将串中其它*号删除。不得使用字符串函 数。int i
26、, k;for (i = 1; i n - 2; i+)for (k = i + 1; k n - 1; k+)if (ai ak)void fun( char *s)int i = 0, j;while (si = *) i+;II 找第 1for (j = i; si; i+)if (si != *) s j+ = si; II j+ 模式II 串尾加0sj = 0;(50)字符串只包含字母和*号,除了前导和尾部*号 之外,删除其它*号。指针 h 已指向第一个字母,p 已指向最后一个字母。不得使用字符串函数。void fun( char s , char *h, char *p)int j
27、 = h - s, i;for (i = h - s; i p - s; i+)if (si != *) s j+= si;while (sj+ = si+);II j+模式II 拷尾部*号(51)从 num 个字符串中找出最长的一个字符串,并通过形参指针 max 传回该串地址。15 二级指针void fun(char (*a)81, int num, char *max)int i;*max = a0;for (i = 0; i num; i+)II 冒泡排序t = ai; ai = ak; ak = t;(53) N 名学生的学号和成绩已放入结构体数组中,按分数从高到低排列结构体数组中N 个记录。typedef struct char a10; int b; S;void fun(S wN)S t;int i, k;for (i = 0; i N - 1; i+)for (k = i + 1; k N; k+)if (wi.b wk.b)II 冒泡排序t = wk; wk = wi; wi = t;(54)把分数最低的学生数据放在b 数组中(可能不止一个),函数返回分数最低的学生的人数。17.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 20786-2025橡胶履带
- 水泥质检员岗位职业健康技术规程
- 2025年二级建造师资格考试(水利水电工程管理与实务)参考题库含答案
- 2025年台球中八规则题库及答案
- 中国热管式真空太阳能整机项目投资可行性研究报告
- 树脂薄片模具行业深度研究报告
- 润滑油脂软管总成行业深度研究报告
- 中国电动轮胎式龙门起重机行业市场前景预测及投资价值评估分析报告
- 双面覆膜竹胶合模板行业深度研究报告
- 双复塑料彩色土工布行业深度研究报告
- 贴片二三极管封装图大全
- 短视频营销与案例分析完整全套教学课件
- 中小学儿童德育教育正确面对挫折含内容两篇
- 4、腾讯-技术专业族职级评定标准
- 物业公司中央空调运行记录表
- GB/T 6003.1-2022试验筛技术要求和检验第1部分:金属丝编织网试验筛
- 自然资源全民科学素质总结汇报
- 公共基础知识复习资料
- 完整版隧道项目消防工程施工组织设计方案
- 内科学胃癌(2学时)
- 境内货源地代码查询
评论
0/150
提交评论