数列问题
感觉很简单,可是怎么也找不到是哪儿错了,真是没面子啊……
列出一组数据:
computer PC-100
computer PC-101
printer LP100
printer LP101
DVD Dvd-S
输入前列的名词,输出搜索结果,如:
输入printer
输出
printer LP100
printer LP101
#include<stdio.h>
void main(void)
{
char m_type[5][20]={"computer","computer","printer","printer","DVD"};
char m_name[5][20]={"PC-100","PC-101","LP100","LP101","Dvd-S"};
char search[20];
int m,n,m_type_length[5],search_length=0,not;
for(m=0;m<5;m++)
printf("%s %s\n",m_type[m],m_name[m]);
printf("searching string: ");
scanf("%s",search);
for(m=0;m<5;m++)
{
m_type_length[m]=0;
for(n=0;m_type[m][n]!='\0';n++)
m_type_length[m]++;
}
for(m=0;search[m]!='\0';m++)
search_length++;
printf("\n======result======\n\n");
for(m=0;m<5;m++)
{
if(m_type_length[m]==search_length)
{
not=0;
for(n=0;n<m_type_length[m];n++)
{
if(m_type[m][n] !=search[n])
{
not=1;
break;
}
}
if(not==0)
printf("%s %s\n",m_type[m],m_name[m]);
}
}
}
问题点数:20、回复次数:5Top
1 楼snowbirdfly(专心搞好嵌入式~~~)回复于 2005-11-26 05:08:34 得分 5
这个程序没有问题啊`~
我在VC6下面调试通过~
而且结果完全正确啊`~~Top
2 楼ma100()回复于 2005-11-26 08:08:51 得分 5
如果如 snowbirdfly(专心搞好嵌入式~~~) 说的在VC没有问题的话,那可能你用的是BC/TC只类的
那样的话printf() / scanf 之间最好加一个 fflush(stdin);
因为他们都是对缓冲区操作,并不立即执行,但TC/BC 的判断条件不好,两次不同操作之间应该立即执行一次但他没有
同样fread / fwrite也可能有这个问题,两个连续使用时中间加一个fflush(stdin);强制他晴空缓冲区Top
3 楼koreant(云)回复于 2005-11-26 18:14:23 得分 0
是我的VC6有问题吗?我的输出是空白,汗ingTop
4 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2005-11-26 19:38:36 得分 5
我在vc6下调试安全通过
Top
5 楼weping(无语)回复于 2005-11-26 19:58:59 得分 5
楼主也没说是什么问题啊? 不一定是编译问题啊Top




