实验6

#include <stdio.h>
#define N 5
int binarySearch(int *x, int n, int item);
int main(){
int a[N] = {2, 7, 19, 45, 66};
int i, index, key;
printf("数组a中的数据:\n");
for (i=0; i<N; i++)
printf("%d ", a[i]);
printf("\n");
printf("输入待查找的数据项: ");
scanf("%d", &key);
index=binarySearch(a,N,key);
if (index>=0)
printf("%d在数组中,下标为%d\n", key, index);
else
printf("%d不在数组中\n", key);
return 0;
}
int binarySearch(int*x, int n, int item)
{
int low, high, mid;low=0;
high=n-1;
while (low<=high)
{
mid= (low+high) /2;
if (item==*(x+mid))
return mid;

else if
(item<*(x+mid))
high=mid-1;

else
low=mid+1;
}
return-1;
}

 

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
void fun(char*a)
{
/*****ERROR1********/
int i=0;
char*p=a;
/****ERROR2***/
while (*p=='*')
{
a[i] =*p;
i++;
p++;
}
while (*p)
{
/******ERROR3*******/
if (*p!='*')
{
a[i] =*p;
i++;
}
p++;
}
/******ERROR4*******/
a[i] ='\0';
}
int main(){
char s[81];
printf("Enter a string :\n");
gets(s);
/***ERROR5******/
fun(s);
printf("The string after deleted:\n");
puts(s);
return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun(char *a)
{
/**ERROR******/
int i=0;
char *t = a, *f = a;
char *q = a;

while (*t)
t++;
t--;

while (*t == '*')
t--;

while (*f == '*')
f++;

/***ERROR***/
while (q < f)
{
a[i] = *q;
q++;
i++;
}

while (q < t)
{
/***ERROR**/
if (*q != '*')
{
a[i] = *q;
i++;
}
q++;
}

while (*q)
{
a[i] = *q;
i++;
q++;
}

/**ERROR**/
a[i] = '\0';
}

int main()
{
char s[81];

printf("Entre a string:\n");
gets(s);
/**ERROR**/
fun(s);
printf("The sting after deleted:\n");
puts(s);

return 0;
}

 

 

#include <stdio.h>
#include <string.h>

#define N 80
int isPalindrome(char *s);

int main()
{
char str[N];
int flag;

printf("Enter a string:\n");
gets(str);

flag = isPalindrome(str);

if (flag)
printf("YES\n");
else
printf("No\n");

return 0;
}


int isPalindrome(char *s)
{
char *m = s;
char *n = s;
while(*n){
++n;
}
--n;
while(m<=n)
{
if(*m != *n){
return 0;
}
m++;n--;
}
return 1;


}

 

#include <stdio.h>
#define N 80

int count(char *str, char *substr); // 函数声明

int main()
{
char str[N], substr[N];
int n;

gets(str); // 输入母串
gets(substr); // 输入子串
n = count(str, substr); // 函数调用
printf("%d\n", n);

return 0;
}

int count(char *str, char *substr)
{
int i, j, k;
int num = 0;

for(i=0;str[i]!='\0'; ++i)
for(j=i, k=0; substr[k] == str[j]; k++, j++)
if(substr[k+1] == '\0')
{
num++;
break;
}

return(num);
}

 

posted @ 2021-12-20 19:49  syzyyds  阅读(26)  评论(0编辑  收藏  举报