#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;
}

实验2

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
void fun(char* a)
{
int i=0;
char* p = a;
while (*p && *p == '*')
{
a[i] = *p;
i++;
p++;
}
while (*p)
{

if (*p != '*')
{
a[i] = *p;
i++;
}
p++;
}
a[i] = '\0';
}

int main()
{
char s[81];

printf("Enter a string :\n");
gets(s);
fun(s);
printf("The string after deleted:\n");
puts(s);

return 0;
}

实验3

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

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

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

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

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

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

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

int main()
{
char s[81];

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

return 0;
}

实验4

#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)
{
int i,n=1,a;
a=strlen(s);
for(i=0;*(s+i)!='\0';i++)
{
if(*(s+i)!=*(s+a-1-i))
{
n=0;
break;
}
}
if(n==1)
return 1;
return 0;
}

实验5

#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)
{
int i,n=1,a;
a=strlen(s);
for(i=0;*(s+i)!='\0';i++)
{
if(*(s+i)!=*(s+a-1-i))
{
n=0;
break;
}
}
if(n==1)
return 1;
return 0;
}

posted on 2021-12-15 13:58  都说了没有名字  阅读(4)  评论(0编辑  收藏  举报