首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

学识浅薄,实在是找不出有关问题所在,只得上论坛

2013-06-26 
学识浅薄,实在是找不出问题所在,只得上论坛求救本帖最后由 Hy102056390 于 2013-06-07 22:01:52 编辑#incl

学识浅薄,实在是找不出问题所在,只得上论坛求救
本帖最后由 Hy102056390 于 2013-06-07 22:01:52 编辑 #include <stdio.h>
#include <string.h>
char str[100];int i,m,n,p,q,flag=1,a=0,b=0,x;
int main()
{void cmp();
gets(str);
for(i=0;str[i]!='\0';i++)
{while(flag==1)
{if(str[i]>='A'&&str[i]<='Z'||(str[i]>='a'&&str[i]<='z'))
   m=i;
else {n=i-1;flag=0;}}
while(flag==0)
{if(str[i]>='A'&&str[i]<='Z'||(str[i]>='a'&&str[i]<='z'))
   p=i;
else {q=i-1;flag=1;}}
cmp();}
for(x=0;x<(b-a);x++)
printf("%c",str[a]);}
void cmp()
{if(n-m)>(q-p)&&(n-m)>(b-a)
{b=n;a=m;}
if(q-p)>(n-m)&&(q-p)>(b-a)
{b=q;a=p;}}

错误提示如下:
C:\Documents and Settings\Administrator\桌面\prictise\7.10.c(20) : error C2143: syntax error : missing ';' before '>'
C:\Documents and Settings\Administrator\桌面\prictise\7.10.c(22) : error C2059: syntax error : 'if'
C:\Documents and Settings\Administrator\桌面\prictise\7.10.c(23) : error C2059: syntax error : '}' C
[解决办法]
你的void cmp()这个函数里面的两个if 都少了括号  if((q-p)>(n-m)&&(q-p)>(b-a))
[解决办法]


#include <stdio.h>
#include <string.h>
char str[100];int i,m,n,p,q,flag=1,a=0,b=0,x;
int main()
{void cmp();
fgets(str, 100, stdin);
for(i=0;str[i]!='\0';i++)
{while(flag==1)
{if(str[i]>='A'&&str[i]<='Z'
[解决办法]
(str[i]>='a'&&str[i]<='z'))
   m=i;
else {n=i-1;flag=0;}}
while(flag==0)
{if(str[i]>='A'&&str[i]<='Z'
[解决办法]
(str[i]>='a'&&str[i]<='z'))
   p=i;
else {q=i-1;flag=1;}}
cmp();}
for(x=0;x<(b-a);x++)
printf("%c",str[a]);}
void cmp()
{if((n-m)>(q-p)&&(n-m)>(b-a))
{b=n;a=m;}
if((q-p)>(n-m)&&(q-p)>(b-a))
{b=q;a=p;}}

[解决办法]
#include <stdio.h>
#include <string.h>
char str[100];
int i,m,n,p,q,flag=1,a=0,b=0,x;
int main()
{
    void cmp();
    gets(str);
    for(i=0; str[i]!='\0'; i++)
    {
        while(flag==1)
        {
            if(str[i]>='A'&&str[i]<='Z'
[解决办法]


(str[i]>='a'&&str[i]<='z'))
                m=i;
            else
            {
                n=i-1;
                flag=0;
            }
        }
        while(flag==0)
        {
            if(str[i]>='A'&&str[i]<='Z'
[解决办法]
(str[i]>='a'&&str[i]<='z')) //少个括号
                p=i;
            else
            {
                q=i-1;
                flag=1;
            }
        }
        cmp();
    }
    for(x=0; x<(b-a); x++)
        printf("%c",str[a]);
}
void cmp()
{
    if((n-m)>(q-p)&&(n-m)>(b-a))
    {
        b=n;
        a=m;
    }
    if((q-p)>(n-m)&&(q-p)>(b-a)) //少个括号
    {
        b=q;
        a=p;
    }
}


[解决办法]
学一点编程风格

最好加括号以保证优先级正确

用好一点的 IDE
[解决办法]
这代码风格。。学识浅薄,实在是找不出有关问题所在,只得上论坛

#include <stdio.h>
#include <string.h>
char str[100];int i,m,n,p,q,flag=1,a=0,b=0,x;
int main()
{
void cmp();
gets(str);
for(i=0;str[i]!='\0';i++)
{
while(flag==1)
{
if(str[i]>='A'&&str[i]<='Z'
[解决办法]
(str[i]>='a'&&str[i]<='z')) m=i;
else{
n=i-1;flag=0;
}
}
while(flag==0)
{
if(str[i]>='A'&&str[i]<='Z'
[解决办法]
(str[i]>='a'&&str[i]<='z')) p=i;
else{
q=i-1;flag=1;
}
}
cmp();
}
for(x=0;x<(b-a);x++)
printf("%c",str[a]);
}
void cmp()
{
if((n-m)>(q-p)&&(n-m)>(b-a))//少了个()
{
b=n;
a=m;
}
if((q-p)>(n-m)&&(q-p)>(b-a))//少了个()..
{
b=q;
a=p;


}
}

热点排行