求大神帮忙看看哪里错了,为什么错了

来源:互联网  时间:2016/7/13 2:19:13

关于网友提出的“ 求大神帮忙看看哪里错了,为什么错了”问题疑问,本网通过在网上对“ 求大神帮忙看看哪里错了,为什么错了”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 求大神帮忙看看哪里错了,为什么错了
描述:

c

求大神帮忙看看哪里错了,为什么错了,怎么改
我的代码
#include
#include
char str[1000];
int main()
{
int num=0;
scanf("%d",&num);
fflush(stdin);
for(int i=0;i<>
{
char s[101];
        gets(s);
        for(int j=0;j<>
{
if(s[j]>='A'&&s[j]<='Z')
{
s[j]+=32;
str[strlen(str)]=s[j];
}
else
            {
                if(s[j]>='a'&&s[j]<='z')
                {
  s[j]-=32;
  str[strlen(str)]=s[j];
                }
}
}
 str[strlen(str)]='#';
}
for(int i=0;i<>
{
if(str[i]!='#'&&str[i]>='A'&&str[i]<='z')
{
printf("%c",str[i]);
}
else
        {
            if(str[i]=='#')
            {
                 printf("\n");
            }
        }
}
return 0;
}

解决方案1:

楼主以后注意代码缩进,以下供楼主参考:


#include
#include
char str[1000];
int main()
{
int num=0;
int i = 0;//兼容C99前的标准,不在for内定义变量 
int j = 0;
int  index = 0;//用index代替strlen提高效率 
scanf("%d",&num);
fflush(stdin);
for(i=0;i<>
{
char s[101]={0};//局部变量应初始化 
int  size = sizeof(s);
        //gets(s);
        if (NULL == fgets((char*)s,size,stdin))
        {
         printf("can't read!\r\n");
         continue;
        }
        
        printf("we get:%s\n",s);
        
        s[100]='\0';//防止溢出 
        
        for(j=0;j<>
{
if(s[j]>='A'&&s[j]<='Z')
{
s[j]+=32;
str[index]=s[j];
index++;
}
else if(s[j]>='a'&&s[j]<='z')
{
s[j]-=32;
str[index]=s[j];
index++;
}
}
  str[index]='#';
  index++;
}
for(i=0;i<>
{
if(str[i]!='#'&&str[i]>='A'&&str[i]<='z')
{
printf("%c",str[i]);
}
else if(str[i]=='#')
        {
            printf("\n");
        }
}
return 0;
}
解决方案2:

你是想说什么错了?输出正常啊!大写转换小写,或者小写转换大写都OK哦。

上一篇关于静态变量的问题
下一篇关于watcom c 的一篇文章————转帖
明星图片
相关文章
《 求大神帮忙看看哪里错了,为什么错了》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)