一道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);