![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
串
类C语言--串
越太
这个作者很懒,什么都没留下…
展开
-
串数组习题:实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。
此代码可以正常运行#include <stdio.h>#include<stdlib.h>// 第一种插入方式, 先把s的pos以后的字符串链接到t上,然后在将t插入到s的pos位置void insert(char *s, char *t, int pos){ char *p=s, *q = t; int i = 0, lent = 0; if(p...原创 2020-04-25 17:23:49 · 6211 阅读 · 0 评论 -
C语言---串数组广义表习题:设二维数组a[1..m, 1..n] 含有m*n 个整数。 ① 写一个算法判断a中所有元素是否互不相同?输出相关信息(yes/no); ② 试分析算法的时间复杂度。
此代码可以正确运行,下附有运行区①判断二维数组中元素是否互不相同,只有逐个比较,找到一对相等的元素,就可结论为不是互不相同。如何达到每个元素同其它元素比较一次且只一次?在当前行,每个元素要同本行后面的元素比较一次(下面第一个循环控制变量p的for循环),然后同第i+1行及以后各行元素比较一次,这就是循环控制变量k和p的二层for循环。#include <stdio.h>voi...原创 2020-04-24 18:26:15 · 7310 阅读 · 2 评论 -
C语言--串,数组,广义表习题:设任意n个整数存放于数组A(1:n)中,试编写算法,将所有正数排在所有负数前面(要求算法复杂度为0(n))。
本题属于排序问题,只是排出正负,不排出大小。可在数组首尾设两个指针i和j,i自小至大搜索到负数停止,j自大至小搜索到正数停止。然后i和j所指数据交换,继续以上过程,直到 i=j为止。#include<stdio.h>#define N 5 //数组元素个数void Arrange(int A[],int n)// n个整数存于数组A中,本算法将数组中所有正数排在所有负数...原创 2020-04-23 20:49:33 · 2168 阅读 · 0 评论 -
C语言--串,数组,广义表习题:写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。
此代码可以正常运行,下附有运行区实现字符串的逆置并不难,但本题“要求不另设串存储空间”来实现字符串逆序存储,即第一个输入的字符最后存储,最后输入的字符先存储,使用递归可容易做到。#include <stdio.h>void Reverse(char *ch){ if(!*ch) { return ; } Reverse(ch+1); //指针后移 print...原创 2020-04-23 20:15:00 · 1130 阅读 · 0 评论 -
C语言程序设计:求一个模式串在主串中出现的次数(穷举法,朴素法)
此代码可以正常运行,下附有运行区#include <stdio.h>#include <stdlib.h>int main(){ char S[100],T[20]; char ch1,ch2; printf("请输入主字符串:\n"); int i=0,j=0; while((ch1=getchar())!='\n')...原创 2020-04-23 18:26:16 · 562 阅读 · 0 评论 -
C语言--计在输入字符串中各个不同字符出现的频度并将结果存入文件(字符串中的合法字符为A-Z这26个字母和0-9这10个数字)。
此代码可以正常运行,下否有运行区#include <stdio.h>int main(){ int times[36]; char ch; int num; for(int i = 0; i < 36; i++) { times[i] = 0; } printf("输入字符,不要包含空格\n"); while((ch=getchar())!= '...原创 2020-04-23 18:09:59 · 4830 阅读 · 0 评论