109

109: date:2021.2.5
在这里插入图片描述要点: 奇数位置: b[ 2*k-1 ] = a[k]; 偶数位置: b[ 2 * k ] = a[k+27];

详细代码如下:

#include  <stdio.h>
void  fun( int  a[55], int  n )
{
    
      int  i, k  ;
/**********found**********/
   int  b[55];
   for (i=0; i<n; i++) 
   {
    
      for (k=1; k<= 27; k++) 
      {
    
      b[ 2*k-1 ] = a[k];  //前一半元素放入数组b的奇数位置
/**********found**********/
         b[ 2 * k ] = a[k+27]; //后一半元素放入数组b的偶数位置
     }
     for (k=1; k<=54; k++)
/**********found**********/
       a[k]= b[k];
   }
}
void main( )
{
    
      int  m, a[55],i;
   for (i=1; i<55; i++)   a[i]= i;
   printf("请输入洗牌次数 :    ");   scanf("%d", &m);
   fun(a, m);
   for (i=1; i<55; i++)   printf("%d,",a[i]);
   printf("\n");
}


在这里插入图片描述要点: confused

详细代码如下:

#include   <stdio.h>
#include  <string.h>
void NONO();
int  fun( char  *t )
{
    
    
	/*
		analyse:
		1遍历所有

		2判断是否连续;

		3返回
	*/

	
	int flag = 1, i;
	char before_ch = t[0];
	char current_ch;
	int len = strlen(t);

	if(len < 2)
	{
    
    
		return 0;
	}
	for(i = 1; t[i] != '\0'; i++)
	{
    
    
		current_ch = t[i];
			if(before_ch != current_ch-1)
			{
    
    
				flag = 0;
				break;
			}
			before_ch = current_ch;
	}

	return flag;
//________________________________________________________________________________________
	/*  error:
	int i,flag=1;
	for(i = 1;  t[i] != '\0'; i++)
	{
		if( strlen(t) < 2  || t[i]+1 != t[i+1]){
			flag = 0;
			break;
		}
		else 
		{
		 	flag += 1;
		}
	}

	return flag;
	*/
}

void main()
{
    
      char  s[26];
   printf("请输入一个字母组成的字符串 :  "); gets(s);
   if( fun(s) )  printf("%s 是由连续字母组成的字符串.\n", s );
   else   printf("%s 不是由连续字母组成的字符串!\n", s );
   NONO();
}

猜你喜欢

转载自blog.csdn.net/weixin_44856544/article/details/113699204
109