| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 464 人关注过本帖
标题:第4题目,各位大虾快进来帮帮忙啊
只看楼主 加入收藏
blackbrod
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2006-10-24
收藏
 问题点数:0 回复次数:3 
第4题目,各位大虾快进来帮帮忙啊

#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "stdlib.h"
#include "stdio.h"
#include "math.h"
#include "graphics.h"
/*============================================================================
解密程序
============================================================================*/
int bijiao(int *a,int *b);
int quan_bu_bi_jiao(char *str1,char *str2);
int da_xie_zi_mu(char *str1,char *str2);
int main()
{
char *str1,*str2,*temp;
int flag;
printf("put the first string :");
gets(str1);
puts(str1);
printf("put the secend string :");
gets(str2);
puts(str2);
if (strlen(str1)>strlen(str2))
{
temp=str1;
str1=str2;
str2=temp;
}
flag=bijiao(str1,str2);
if (flag==1)
{
printf("yes");
}
else
{
printf("no");
}
getch();
}
int bijiao(int *str1,int *str2)
{

int i,j,flag;
for (i=0;i<strlen(str1);i++)
{
if(str1[i]>='a'&&str1[i]<='z') //为什么这条语句他死活都不执行啊,我的目的是判断他有没有小写字母
{
flag=quan_bu_bi_jiao(str1,str2);//如果有小写字母那就要全部比较
return flag;
}
}
flag=da_xie_zi_mu(str1,str2);//都是大写字母
return flag;
}
int quan_bu_bi_jiao(char *str1,char *str2)
{
int i,j,b,flag;
for(i=0;i<strlen(str2)-strlen(str1);i++)
{
while(str1!=NULL)
{
if (*str1==*str2)
{
str1++;
str2++;
b++;
flag=1;
}
else
{
i=b;//b的作用是:如果执行到这步的时候不匹配而且乘下的字符不足str1的长度,就不在继续向下做
b++;
flag=0;
continue;
}
}
}
return flag;
}
int da_xie_zi_mu(char *str1,char *str2)
{
int i,j=0,b=0,flag;
while(str1[j]!=NULL)
{
for (i=b;i<strlen(str2);i++)
{
if (str1[j]==str2[i])
{
j++;
b=i;//循环从当前这步走下去,匹配后面的单词
flag=1;
break;
}
else
{
flag=0;
return flag;
}
}
}
return flag;
}

搜索更多相关主题的帖子: include 
2007-01-22 20:59
atomhdp
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2005-10-2
收藏
得分:0 
if(str1[i]>='a'&&str1[i]<='z')
if(str1[i]>='a'&& str1[i]<='z')
???

2007-01-23 09:30
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:353
专家分:222
注 册:2006-4-11
收藏
得分:0 
if(*(str1+i)&gt;='a' &amp;&amp; *(str1+i)&lt;='z')

2007-01-23 09:51
blackbrod
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2006-10-24
收藏
得分:0 
#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "stdlib.h"
/*============================================================================
解密程序
============================================================================*/
int bijiao(char *a,char *b);
int quan_bu_bi_jiao(char *str1,char *str2);
int da_xie_zi_mu(char *str1,char *str2);
void main()
{
char *str1,*str2,*temp;
int flag;
printf("put the first string :");
gets(str1);
puts(str1);
printf("put the secend string :");
gets(str2);
puts(str2);
if (strlen(str1)>strlen(str2))
{
temp=str1;
str1=str2;
str2=temp;
}
flag = bijiao(str1,str2);
if (flag)
{
printf("yes");
}
else
{
printf("no");
}
getch();
}
int bijiao(char *str1,char *str2)
{
unsigned int i,flag;
for (i=0;i<strlen(str1);i++)
{
if (*(str1+i)>='a'&&*(str1+i)<='z')
{
flag = quan_bu_bi_jiao(str1,str2);
return flag;
}
}
flag=da_xie_zi_mu(str1,str2);
return flag;
}
int quan_bu_bi_jiao(char *str1,char *str2)
{
unsigned int i,b=0,flag,len;
char *p;
p=str1;
len=strlen(str2)-strlen(str1)+1;
for(i=0;i<len;i++)
{
while(*str1!='\0')
{
if (*str1==*str2)
{
str1++;
str2++;
b++;
flag=1;
}
else
{
i=b;//如果执行到这步的时候乘下的字符不足str1的长度,就不在继续向下做
b++;
flag=0;
str1=p;
str2++;
break;
}
}
if (flag==1)
{
return flag;
}
}
return flag;
}
int da_xie_zi_mu(char *str1,char *str2)
{
unsigned int i,j=0,b=0,flag,len;
len=strlen(str1)+1;
for(i=0;i<len;i++)
{
for (j;j<strlen(str2);j++)
{
if (*str1==*(str2+j))
{
b++;
j=b;//b的作用是让循环从当前这步走下去
flag=1;
str1++;
break;
}
else
{
b++;
flag=0;
}
}
if (*str1=='\0')
{
return flag;
}
}
return flag;
}

谢谢各位大哥的指点,改了下,好象行了
2007-01-23 13:29
快速回复:第4题目,各位大虾快进来帮帮忙啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033305 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved