您当前所在位置:首页苹果软件一道c语言的题目 急求代码

一道c语言的题目 急求代码

更新:2024-07-23 10:24:21编辑:BOSS软件库归类:苹果软件人气:639

文章目录:

  1. 一道c语言的题目 急求代码
  2. C语言的题用函数实现数组数据的增加,删除,修改,查找和排序

一、一道c语言的题目 急求代码

#include <stdio.h>

#include <string.h>

/*定义一个函数,用指向字符串的指针匹配子字符串*/

int match(char * str, char * str1, char * str2, char * a_str);

int main()

{

/*定义两个字符数组,分别存储主字符串和子字符串*/

char mother[256],child[256];

/*定义一个字符串,用于替换子字符串*/

char change[256];

/*定义一个字符串,保存替换后的字符串*/

char af_change[256]="";

/*定义一个整型值,记录匹配结果*/

int result;

printf("匹配字符串:\n");

printf("请输入主字符串:\n");

gets(mother);

printf("请输入子字符串:\n");

gets(child);

printf("请输入替换的字符串:\n");

gets(change);

result=match(mother,child,change,af_change);

if (result==1)

{

printf("匹配和替换均成功!\n");

printf("替换后的字符串是:%s\n",af_change);

}

else if (result==0)

printf("匹配成功但替换失败!\n");

else

printf("匹配失败!\n");

return 0;

}

/*定义一个函数,用指向字符串的指针匹配子字符串*/

int match(char * str, char * str1, char * str2, char * a_str)

{

/*定义两个整型变量表示字符串的长度*/

int l1,l2;

/*定义指向字符串的指针,其中q1指向子字符串在主串中的位置,q2指向子字符串的位置*/

char * p, * q1=NULL,* q2,* t;

/*定义一个指向替换后的字符串指针*/

char *cc;

char *change[256];/*保存匹配成功时,子串在母串中的位置*/

int i,j; /*循环控制变量*/

/*对子串在母串中的位置进行初始化*/

for (i=0; i<256; i++) change[i]=NULL;

/*求出字符串的长度*/

l1=strlen(str1);

l2=strlen(str2);

/*对指针进行赋值*/

p=str;

/*字符串匹配过程*/

i=0;

for (p; *p!='\0'; p++)

{

q1=p;

q2=str1;

while ((*q2!='\0')&&(*q2==*q1))

{

q1++;

q2++;

}

if (*q2=='\0')/*匹配成功*/

{

change[i]=q1-l1;

i++;

}

}

if (i==0) /*匹配失败*/

return -1;

/*匹配成功后进行字符串替换过程*/

if (l1!=l2) /*替换后的字符串与原子字符串长度不等,无法替换*/

return 0;

cc=a_str;

p=str;

for (j=0; j<i; j++)/*对匹配的多个子串进行替换*/

{

while (p<change[j])/*复制母串中匹配前的字符*/

{

*a_str=*p;

a_str++;

p++;

}

for (t=str2; *t!='\0'; a_str++,t++) /*替换子字符串*/

*a_str=*t;

p+=l1;

}

if (*p!='\0') /*全部匹配字符串都替换完了,但母串未结束*/

while (*p!='\0')

{

*a_str=*p;

a_str++;

p++;

}

*a_str='\0';

a_str=cc;

return 1;

}

二、C语言的题用函数实现数组数据的增加,删除,修改,查找和排序

#include<stdio.h>

#define maxn 1024

int arr[maxn], n;

void add(int value)

{

    arr[n - 1] = value;

    return;

}

void del(int index)

{

    int i, j;

    for(i = index; i < n - 1; i++)

        arr[i] = arr[i + 1];

    n--;

    return;

}

void update(int index, int value)

{

    arr[index] = value;

    return;

}

void search(int index)

{

    printf("%d\n", arr[index]);

    return;

}

void BubbleSort(int count)

{

    int i, j;

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

    {

        for(j = count - 1; j > i; j--)

        {

            if(arr[j] < arr[j-1])

            {

                int temp = arr[j-1];

                arr[j - 1] = arr[j];

                arr[j] = temp;

            }

        }

    }

    return;

}

int main(void)

{

    n = 0;

    return 0;

}

到此,以上就是小编对于index函数c语言的问题就介绍到这了,希望介绍关于index函数c语言的2点解答对大家有用。

Amysql_youhua_articlehuaunyuan($article);
index函数c语言
vivo/iQOO手机的OriginOS 3超级小窗支持哪些软件? 辟谣熊猫林惠被打死:清迈大熊猫创创死了是怎么回事
欧意国内注册 欧易国际注册 欧意交易所app官方下载

游客 回复需填写必要信息