我是大一新生 暑假了一点 然后这个错误 求

这个就是代码 我不知道哪里错了
还有如何实现将一长串字符 给拆成单个 比如:sadasdadsa123asda这个怎么拆成一个一个分别来看有几个数字字符
img

供参考对照:

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

int main()
{
    int length,n,i,j,count;
    char s[128];
    while(scanf("%d",&n)!=EOF){
          for(i=1;i<=n;i++){
              scanf("%s",s);
              length = strlen(s);
              count = 0;
              for(j=0;j<length;j++){
                  printf("%c ",s[j]);
                  if(s[j]>='0' && s[j]<='9') count++;
              }
              printf("\ncount = %d\n",count);
          }
    }
    return 0;
}


//2
//adsadf
//a d s a d f
//count = 0
//af23dsge9
//a f 2 3 d s g e 9
//count = 3


#include<stdio.h>
#include<string.h>
#include<windows.h>
#define N 10
int main()
{
    int length,n,i,j,count;
    char s[N][128];
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%s",s[i]);
    for(i=0;i<n;i++){
        length = strlen(s[i]);
        count = 0;
        for(j=0;j<length;j++){
            printf("%c ",s[i][j]);
            if(s[i][j]>='0' && s[i][j]<='9') count++;
        }
        printf("\ncount = %d\n",count);
    }
    system("pause");
    return 0;
}

//2
//asdfasdf123123asdfasdf
//asdf1111111111asdfasdfasdf
//a s d f a s d f 1 2 3 1 2 3 a s d f a s d f
//count = 6
//a s d f 1 1 1 1 1 1 1 1 1 1 a s d f a s d f a s d f
//count = 10
//请按任意键继续. . .

1:第九行应该用%s
2:第十行strlen是读取字符串长度,x是字符类型,无法读取
另一个问题我待会再回答,电脑不在身边不方便

scanf里应该是%s
length=strlen(s)

输入字符串:scanf("%s",s); 一句就可以了。

将字符串一个一个字符输出:
length = strlen(s);
for(j=0;j<length;j++){
printf("%c ",s[j]);
if(s[j]>='0' && s[j]<='9')count++;
}
printf("%d\n",count);