invalid conversion from 'char' to 'const char*'

[Error] [-fpermissive]
#include
#include
#include
using namespace std;
char a[100];
void solve(char a)
{
if(strlen(a)>10)
printf("%d","%d","%d",a[1],strlen(a)-2,a[ans]);
if(strlen(a)<=10)
printf("%d",a);
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
gets(a);
solve(a);
}

invalid conversion from 'char' to 'const char*'
不能将char类型转为char指针类型。
void solve(char a)改为void solve(char *a)

slove的参数改为char* a
main中的for循环删掉,不需要