#include<stdio.h> #include<stdlib.h> int num(char arr[]) { int count=0; for(int i=0;arr[i]!='\n';i++) { count++; } return count; } int main() { int count=0; char a=(char*)malloc(100*sizeof(char)); fgets(a,100,stdin); int n=num(a); for(int i=0;i<n;i++) { if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) { count++; for(;(arr[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z');i++) { if((a[i]<'A')||(a[i]>'Z'&&a[i]<'a')||a[i]>'z') { i--; } } } } printf("一共有%d个单词\n",count); return 0; }哪里错了
时间: 2023-07-15 22:12:24 浏览: 91
SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h
代码中有一些错误:
1. 第5行应该是 `char *a = (char*)malloc(100*sizeof(char));`,因为你需要分配一段内存来存储字符数组。
2. 第14行应该是 `for(int i=0;i<n;i++)`,因为你需要遍历整个字符数组。
3. 第16行应该是 `if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))`,因为你需要检查当前字符是否是字母。
4. 第23行应该是 `if((a[i]<'A')||(a[i]>'Z'&&a[i]<'a')||a[i]>'z')`,因为你需要检查当前字符是否是字母,如果不是字母,就说明一个单词结束了。
下面是修改后的代码:
阅读全文