C (GCC) C (gcc), 109(削除) 109 (削除ここまで) 91 bytes
i;main(c,v)char**v,*c;{for(++v;v[1];++v){for(c=*v;*++c;);c[-1]-=32;printf("%s%c",*v,95-50*i);i=!i;}puts(*v);}-18 bytes thanks to @ceilingcat
main(c,v)char**v;{for(;1[++v];c=!c)strlen(*v)[*v-1]-=32,printf(c?"%s_":"%s-",*v);puts(*v);}
C (GCC), 109 bytes
i;main(c,v)char**v,*c;{for(++v;v[1];++v){for(c=*v;*++c;);c[-1]-=32;printf("%s%c",*v,95-50*i);i=!i;}puts(*v);}
C (gcc), (削除) 109 (削除ここまで) 91 bytes
-18 bytes thanks to @ceilingcat
main(c,v)char**v;{for(;1[++v];c=!c)strlen(*v)[*v-1]-=32,printf(c?"%s_":"%s-",*v);puts(*v);}