请问下这个代码应该如何改正?

#include<stdio.h>
#include<stdlib.h>

```c



`
```c



`````#include<math.h>
#include<ctype.h>

int main()
{
char s[10];
int i, letter = 0, number = 0, punction = 0;
printf("please input 10 charities:");
scanf_s("%s", s);
for(i=0;i<=9;i++)
{
if (isalpha(s[i]))
letter++;
else if (isdigit(s[i]))
number++;
else if (ispunct(s[i]))
punction++;
}
printf("%d\t%d\t%d\t", letter, number, punction);
}

scanf_s
改为
scanf


#include<ctype.h>
 
int main()
{
    char s[10];
    int i, letter = 0, number = 0, punction = 0;
    printf("please input 10 charities:");
    scanf("%s", s);
    for(i=0;i<10;i++)
    {
        if (isalpha(s[i]))
            letter++;
        else if (isdigit(s[i]))
            number++;
        else if (ispunct(s[i]))
            punction++;
    }
    printf("letter:%d, number:%d, punction:%d", letter, number, punction);
    return 0;
}

将字符传给这个字符数组可以直接用cin,但是这里只能传一个值。

cin>>n;
for(int i=0;i<n-1;i++){
    cin>>c;
}

改成字符串就是getline(cin,c)