c语言程序修改的问题

编写一个程序要求 将输入的字符修改为1//2

想问下怎么修改
在Linux系统下运行

#include <stdio.h>
#include <string.h>

#define N 256

int main()
{
    char a[N];
    fgets(a, N, stdin);
    for (int i = 0, n = (strlen(a) & ~1); i < n; i += 2)
        putchar(a[i] < a[i + 1] ? a[i] : a[i + 1]);
    putchar('\n');
    return 0;
}

char *a[n];
改为 char a[n]

#include<stdio.h>
 
#define n 256
 
int main()
{
   
   char a[n+1] = {0};
   int i;
   fgets(a,n,stdin);
   if(strlen(a)%2){   
   for(i=0;i<strlen(a)-1;i=i+2)
   {
   if(a[i]<=a[i+1])
   printf("%c", a[i]);
   else 
   printf("%c",a[i+1]);
   }
   }
     else{   
     for(i=0;i<strlen(a);i=i+2)
     {
     if(a[i]<=a[i+1])
     printf("%c", a[i]);
      else 
     printf("%c",a[i+1]);
     }
     }
     printf("\n");
}

把char *a[n]改为char a[n];然后把后面%s改为%c就可以了。修改了一下,如下:

#include<stdio.h>
#include <string.h> 
#define n 256
 
int main()
{
   
   char a[n];
   int i;
   fgets(a,n,stdin);
   if(strlen(a)%2){   
       for(i=0;i<strlen(a)-1;i=i+2)
       {
       if(a[i]<=a[i+1])
       printf("%c", a[i]);
       else 
       printf("%c",a[i+1]);
       }
   }
   
    if(strlen(a)%2==0){   
         for(i=0;i<strlen(a);i=i+2)
         {
         if(a[i]<=a[i+1])
         printf("%c", a[i]);
          else 
         printf("%c",a[i+1]);
         }
     }
     
     printf("\n");
}

修改如下,供参考:

#include<stdio.h>
#include<string.h>
#define n 256
int main()
{

   char a[n];  //修改
   int i,len;
   fgets(a,n,stdin);
   len = strlen(a);
   for(i=0;i<len-2;i++)
   {
       if(i%2==0){
          printf("%c",a[i] < a[i+1] ? a[i]:a[i+1]);
          //if(a[i]<=a[i+1])
          //   printf("%c", a[i]);
          //else
          // printf("%c",a[i+1]);
       }
   }
   //}
   //else{ //if(strlen(a)%2=0){
   //   for(i=0;i < len;i=i+2)
   //   {
   //      if(a[i]<=a[i+1])
    //        printf("%c", a[i]);
    //     else
    //        printf("%c",a[i+1]);
    //  }
   //}
   printf("\n");
   return 0;
}