c语言出错,请帮我修改一下,谢谢!!

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:49:37
# include "string.h"
# include "ctype.h"
# include "stdio.h"
main()
char *A[]={"mahuang","xixin","guizhi","xingren","cangzhu","gancao","huangbai"};
float a[]={9,8,6,10,18,15,10};
char *B[]={"mahuangtang","mahuang","guizhi","xingren","gancao","er miao san","cangzhu","huangbai","over"};
float b[]={7,9,6,3,15,20};
float c[];
int i=0,j=0;
char **pa,**pb;
do
{pa=A+i,pb=B+i;
if(ctrcmp(pa,pb)==0)
c[i]=b[i]/a[i];
i++;
}
while(pb="over")
for(j;j<i--;j++)
{pb=B+j;
printf("12%s\n",*pb);
printf("%12f\n",c[j]);
}

main()
==>
int main() { //没有{,顺便也加上个int
//..
} // 代码结束也要加上}

float b[]={7,9,6,3,15,20}; //b的长度为6?
float c[];
==>
float c[sizeof(a)/sizeof(a[0])];//c有多长,好像还有待研究...

if(ctrcmp(pa,pb)==0)
==>
if (strcmp(pa,pb)==0) //ctrcmp???

while(pb="over")
==>
while (strcmp(pb, "over") == 0); //还要注意加上';',这样比较的话i会增长到7,而a长度为7,b长度为6,A的长度为7...

好像错误比较多....

下面是正确代码,自己比对看哪儿出错了:
#include <string.h>
#include <ctype.h>
#include <stdio.h>

#define MAX_C_NUM 100

int main(int argc, char **argv) {
char *A[]={"mahuang","xixin","guizhi","xingren","cangzhu","gancao","huangbai"};
float a[]={9,8,6,10,18,15,10};
char *B[]={"mahuangtang","mahuang","guizhi","xingren","gancao","er