C语言:对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中。-在数组中找出最小值,并与第一个元素交换

//对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中。

 1 #include <stdio.h> 
 2 #include <string.h>
 3 #pragma warning (disable:4996)
 4 void fun(char*sp ,int *ct)
 5 {
 6     int a=0, b=0, c=0;
 7     while (*sp != '\0')
 8     {
 9         if (*sp == 'e')//利用if多重并列判断。
10         {
11             sp++;
12             if (*sp == 'a')
13             {
14                 a++;
15                 //sp--;
16             }
17         }
18         else if (*sp == 'o')
19         {
20             sp++;
21             if (*sp == 'u')
22             {
23                 b++;
24                 //sp--;
25             }
26         }
27         else if (*sp == 'i')
28         {
29             sp++;
30             if (*sp == 'u')
31             {
32                 c++;
33                 //sp--;
34             }
35         }
36         else//这一步很关键,切记。
37         {
38             sp++;
39         }
40     }
41     ct[0] = a;
42     ct[1] = b;
43     ct[2] = c;
44 }
45 main()
46 {    void NONO();
47     char txt[200]="abeaeafeeaoukgdoouuoiouifwieeotiu";
48     int c[3];
49     fun(txt,c);
50     printf("%d,%d,%d\n",c[0],c[1],c[2]); 
51     NONO();
52 }
53 void NONO ()
54 {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
55   FILE *rf, *wf ;
56   int i, c[3] ;
57   char txt[200], *p ;
58 
59   rf = fopen("in.dat","r") ;
60   wf = fopen("out.dat","w") ;
61   for(i = 0 ; i < 10 ; i++) {
62     fgets(txt, 200, rf) ;
63     p = strchr(txt, '\n') ;
64     if(p != NULL) *p = 0 ;
65     fun(txt,c);
66     fprintf(wf, "%d,%d,%d\n",c[0],c[1],c[2]); 
67   }
68   fclose(rf) ; fclose(wf) ;
69 }

//在数组中找出最小值,并与第一个元素交换位置。

 1 #include<stdio.h>
 2 #pragma warning (disable:4996)
 3 void fun(int *dt,int n)
 4 {
 5     int i,m,t;
 6 /**********************found***********************/
 7     m = 0;//注意下标与数组两种方式的转换。
 8     for(i=1;i<n;i++)
 9 /**********************found***********************/
10         if(dt[i]<dt[m])
11             m=i;
12     t=dt[0];
13 /**********************found***********************/
14     dt[0] = dt[m];
15     dt[m]=t;
16 }
17 main()
18 {
19     int a[10]={ 30,20,15,64,85,28 }; 
20     int i,n=6;
21     for(i=0;i<n;i++)
22         printf("%4d",a[i]);
23     printf("\n");
24     fun(a,n);
25     for(i=0;i<n;i++)
26         printf("%4d",a[i]);
27     printf("\n");
28 }

 

上一篇:[TMI 2020] Co-Learning Feature Fusion Maps From PET-CT Images of Lung Cancer


下一篇:WQS二分 学习笔记 + 例题([BZOJ2654]Tree、[联考2018]林克卡特树)