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