C语言:假定输入的字符串只包含字母和*号,fun函数:除了尾部的*号以外,将字符的其他*号进行全部删除,形参p已经指向字符串中最后一个字母。-利用折半查找整数m在有序数组中的位置,若找到,返回下标值,否则返回-1。


//假定输入的字符串只包含字母和*号,fun函数:除了尾部的*号以外,将字符的其他*号进行全部删除,形参p已经指向字符串中最后一个字母。

 1 #include <stdio.h>
 2 void  fun( char *a, char *p )
 3 {
 4     char *q,m[81];//肯定是要进行再定义的。
 5     int i = 0,j;
 6     q = a;
 7     while (*q)
 8     {
 9         if (q == p)//判断地址相等,进行返回
10         {
11             break;
12         }
13         if ((*q >= 'a'&&*q <= 'z') || (*q >= 'A'&&*q <= 'Z'))
14         {
15             m[i++] = *q;
16             q++;
17         }
18         else
19         {
20             q++;
21         }
22     }
23     while (*p)
24     {
25         m[i++] = *p++;
26     }
27     for (j = 0; j < i; j++)//对形参数组进行数据删除,可以重新在一个数组里放入修改的值,再进行循环赋值。
28     {
29         a[j] = m[j];
30     }
31     a[j] = 0;//结束符
32 }
33 
34 void main()
35 {  char  s[81],*t;
36    void NONO (  );
37    printf("Enter a string:\n");gets(s);
38    t=s;
39    while(*t)t++;
40    t--;
41    while(*t=='*')t--;
42    fun( s , t );
43    printf("The string after deleted:\n");puts(s);
44    NONO();
45 }
46 void NONO()
47 {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
48   FILE *in, *out ;
49   int i ; char s[81],*t ;
50   in = fopen("in.dat","r") ;
51   out = fopen("out.dat","w") ;
52   for(i = 0 ; i < 10 ; i++) {
53     fscanf(in, "%s", s) ;
54     t=s;
55     while(*t)t++;
56     t--;
57     while(*t=='*')t--;
58     fun(s,t) ;
59     fprintf(out, "%s\n", s) ;    
60   }
61   fclose(in) ;
62   fclose(out) ;
63 }

//利用折半查找整数m在有序数组中的位置,若找到,返回下标值,否则返回-1。

 1 #include <stdio.h>
 2 #define   N   10
 3 /************found************/
 4 int fun(int  a[], int  m )
 5 {  int  low=0,high=N-1,mid;
 6    while(low<=high)//判定条件
 7    {  mid=(low+high)/2;
 8       if(m<a[mid])
 9         high=mid-1;
10 /************found************/
11       else if(m > a[mid])
12         low=mid+1;
13       else  return(mid);
14    }
15    return(-1);
16 }
17 void main()
18 {  int  i,a[N]={-3,4,7,9,13,45,67,89,100,180 },k,m;
19    
20    printf("a数组中的数据如下:");
21    for(i=0;i<N;i++) printf("%d ", a[i]);
22    printf("Enter m: ");  scanf("%d",&m);
23    k=fun(a,m);
24    if(k>=0) printf("m=%d,index=%d\n",m,k);
25    else  printf("Not be found!\n");
26 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 规定输入的字符串中只包含字母和*号,编写函数fun,其功能是:除了字符串前导和尾部的*号外,其他的*号全部删除,形参h指向第一个字母,形参p指向最后一个字母 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 在一个字符串(1<=字符串长度<=10000,全部由大小写字母组成)中找到第一个只出现一次的字符,并返回它的位置 C语言:将字符串中的前导*号全部移到字符串的尾部。 字符串操作函数 查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符 查找常用字符(给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。) python 从键盘输入一个字符串,将小写字母全部转换成大写字母,将字符串以列表的形式输出(如果字符串包含整数取整型)? 23、有一个字符串,包含n个字符,编写一函数,将此字符串中从第m个字符开始的全部字符串复制成另一个字符串 C语言删除字符串中某个字母
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM