大家看看问题出在哪?有关C语言

作者&投稿:东方馨 (若有异议请与网页底部的电邮联系)
一道C语言编程题,麻烦大家帮我看看问题出在哪里?~

字符串很长的时候出错,估计时是字符串的长度超过了s1的大小,可以看看strcat函数的具体意义。从给出的程序看,要做很多循环,时间复杂度比较高,下面给出了遍历这两个字符串,就能找到不同的字符的方法,时间复杂度是O(n),可以作为参考。
可以使用哈希表存储字符出现的位置,然后比较两个哈希表,如果不一样,那么就是只在一个字符串中出现。代码如下:
#include#includechar HashTable1[256];char HashTable2[256];int main(){ static char s1[100],s2[100];int i,j,k=1;gets(s1);gets(s2);for (i = 0;i<strlen(s1);++i){HashTable1[s1[i]] |= 1;}for (i = 0;i<strlen(s2);++i){HashTable2[s2[i]] |= 1;}for (int i = 0;i<256;++i){if (HashTable1[i] != HashTable2[i]){printf("%c",i);}}printf("
");}代码附件中也有。运行结果如下:

#include
#define size 100
int main()
{
char apple[size],ch;
int i,j;
printf("请输入:
");
gets(apple);
printf("输入要删除的字符
");
scanf("%c",&ch);
for(i=j=0;apple[i];i++)
if(apple[i]!=ch)
apple[j++]=apple[i];
apple[j]='\0';
puts(apple);
return 0;
}

根据你所提供的代码以及报错信息:
error C2065: 'i' : undeclared identifier
错误是出在C中必须先定义后使用,因为你没有定义i,在循环中就使用了它,所以编辑器是不会让你通过的。解决方案:在函数内定义一下就行了。
warning C4018: '<=' : signed/unsigned mismatch
错误的出现是因为上面变量没有定义就先使用所造成的。只要把上面的改好就可以解决这个问题。
我帮你修改后,运行后结果可以出现,不过仔细阅读你的代码后,发现还有个小小的逻辑问题。
if((c>='a'&& c<='z')||(c>='A'&& c<='z'))这里的条件是判断是否为字母的,不过你的代码有点小问题,就是大写和小字,你的大写判断条件有点小毛病,不知你发现没有。应该把后一个z修改为大写的“Z”.
以下是修改后的代码:
# include<stdio.h>
# include<string.h>
int main()
{int alphabetic(char);
int longest(char[]);
int i;
char line[100];
printf("input one line:\n");
gets(line);
printf("The longest word is :");
for(i=longest(line);alphabetic(line[i]);i++)
printf("%c",line[i]);
printf("\n");
return 0;
}

int alphabetic(char c)
{if((c>='a'&& c<='z')||(c>='A'&& c<='Z'))
return(1);
else
return(0);
}

int longest(char string[])
{int len=0,length=0,flag=1,place=0,point;
int i;
for(i=0;i<=strlen(string);i++)
if(alphabetic(string[i]))
if(flag)
{point=i;
flag=0;
}
else
len++;
else
{flag=1;
if(len>=length)
{length=len;
place=point;
len=0;
}
}
return(place);
}
希望可帮到你。

都说了嘛 i不认识 for(int i=0;i<=strlen(string);i++)这样就可以了

我累个去。。这报错这么明显还要问啊。哥们你来搞笑的吧。

你没有把i定义成全局变量,应该这样,或在开头时将i定义成全局变量,而不是局部变量。



longest函数中i没有定义

error C2065: 'i' : undeclared identifier
'i'未声明标识符


看看是家的联网问题出现在哪里
问题出在你的接线盒上。。应该是插口错了。。所以才会出现这种现在。。正常来电是不掉线的。一个入户口。。对面分出二个口。。一个电话。一个网络。。你去看看分清楚就行了。如果还是这个问题。那么只能说明。从入户到电话这块线路短路了。线坏了等可能。比如家里有猫狗咬的。自已查吧。

大家家帮我看看,我的问题处在哪?
那是你没有真正理解了,其实做题的时候不是做完一道就没事了,而是应该去总结一下,这个题做的时候自己是怎么思考的,是怎么一步步走下来的.如果做了这样的工作还是没什么提高,我想你该把课本上的例题好好吃透,所谓吃透,当然就是做到书上写的每一步你都该知道为什么,能说出个123来.再下来要多做题,当然...

晒晒刚入住新家,邻居看完却说新房阴森森,帮忙看哪里出问题了?
我们家房子装修的时候,都是我和老公上网看别人家的装修图片,参考好多个最后定下来的,没想到装修完却被邻居说阴森森的很恐怖,难道是我们审美有问题?请大家帮忙看看哪里出问题了?玄关进门就是木质的大鞋柜,颜色看起来比较中式复古,质量也很不错。餐厅的餐桌椅也是买的这种实木颜色的,想着配套起来比...

家里的安全隐患有哪些?
17、您家中的废纸、书报是否经常清理。 18、火柴、打火机等物品是否放在儿童不易取到的地方。 19、在每日就寝前或离开住所前,是否拔掉电源开关,是否熄灭香烛等明火,是否关掉燃气炉灶的气源开关等等。 20、家中是否配置了简易灭火器具。是否制定了火灾逃生预案。 问题二:家中的安全隐患有哪些? 1、安全用电:总...

...继而怪罪于自己父母。大家看看,问题究竟出在哪里?
而在上述这个家庭中,女方比男方事业有成,但是男方为家庭付出比女方多,这是一个家庭男女双方共同默认的事,但是对于外人也就是父母,亲朋好友来说他们并不了解别人的家庭,却去口诛笔伐这家女婿,让这女婿自尊心备受打击。如果这家女儿和父母能理解女婿的付出,亲朋好友又怎能知道她家的事情而评头论足...

问题出在什么地方了,请大家看看
Win7810还原系统,右击计算机选属性,在右侧选系统保护,系统还原,按步骤做就是了,如果有还原软件,自带的映像备份,并且进行了备份,也可以用软件、映像备份还原系统。有问题请您追问我。如果是不能开机了:反复开关机试试,放一段时间试试,确实不可以就重装系统吧,如果自己重装不了,花30元到维修...

家庭存在的安全隐患有哪些,应该如何去预防安全隐患?
首先来看看,我们的用电安全问题。现在我们的生活中,已经离不开各种各样的电器了。每家每户都有无数种类的家用电器、厨房电器还有各种手机电脑等等。于是,家里的电线各种摆放拉扯的都有。我们看看都存在哪些隐患呢?我们常见的都有这些隐患:电表负载过多,线路损坏引起火花;充电器充完不拔,长时间放...

大家帮我们看看问题到底出在哪里?
不要耍小孩子脾气 两个人在一起就是要相互忍让啊,生气的时候想想对方的好处 不然小矛盾呢会变大 这次认真道歉下吧 人家可能一时没想起问你的感受呢,但是你丢下人家就走就不对了啊 假如当时你说 好冷 拉拉手呗 估计就完全不同啦 相互谦让吧·这次主动道歉下·...

家里风水出大问题的征兆有哪些
4、搬进新家之前。5、入迁后,发生了很多突如其来的事。6、稳定的工作突然发生变动。7、健康问题开始干扰家庭成员。8、夫妻之间的争执变得比较频繁。9、家庭成员频频发生意外。10、家庭成员无法安心入眠。11、孩子的学业表现一落千丈。12、家庭成员变得不喜欢回家。13、很多不祥的感觉。14、无法控制自己...

家庭中一般会有哪些问题?
如果一个爸爸和妈妈,把自己内心修通好了,就不会有那么多恐惧来限定孩子,反过来,当父母在孩子说到某个话题时,特别地感到不安,想要去限定孩子时,就需要先看看自己的那份不安,有可能那里就是自己的无意识在着急,需要去解开的一个心结。) 当然了,我们毕竟是社会人,有的时候有意识地回避一些问题,是可以的,前提是,...

山丹县18953043927: c语言 问题出在哪 -
袁非力特: 问题是 c=1e+(i-1); e后面不能为未知数, 可以用一个方法来修正;但是可能会因为 n 值太大而导致 t 或者 sum 值上溢出, 请自己注意#include int main(){ int a,n,i,sum,c; floa...

山丹县18953043927: C语言 大家看看哪里错误了 error C2143: syntax error : missing ';' before '...'出现这个 -
袁非力特: funct3();break; case'4'#include &lt:exit(0););2; void funct6(void);n"); printf(" 0;*注意这里0应该是单引号,不是双引号*/stdlib.h> printf(&quot:图书管理\n" switch(choice) { case'1'; /:funct8();break; case'0':funct1();break; case'2'; }/stdio;); void funct...

山丹县18953043927: c语言初学者,麻烦各位高手看一下,问题出在哪里?题目是 输入年月日 计算出这是这一年的第几天? -
袁非力特: 前面的都错了 自己试下就知道结果 语法前面说得很清楚 我不重复 下面给你正确的版本 加油哦!#include<stdio.h> int main(void) { int a,b,c,m; printf("please input year month day:"); scanf("%d%d%d",&a,&b,&c); switch(b)//各个case不能加...

山丹县18953043927: C语言求最大值 大家帮我看看问题出在哪? -
袁非力特: 程序没错,,、输入是5 按回车,4按回车....是输入数字按...

山丹县18953043927: c语言求帮看一下问题出在哪?坐等........... -
袁非力特: include #include double f( double x);int main(){int i ,j;//这里j(0)改成j就好了!double a, y,h ,g =0 ;/...

山丹县18953043927: c语言求帮看一下问题出在哪?坐等........... -
袁非力特: #includedouble f( double x); int main() { int i ,j;//这里j(0)改成j就好了! double a, y,h ,g =0 ;//这里一样 int b = 1; int n=20; h = (double)1 / n ; for(j = 1 ; j

山丹县18953043927: 一段C语言的代码,大家帮我看看是哪里出了问题(2) -
袁非力特: 第一段程序错误地将输出语句放在了else子句中,意思是当...

山丹县18953043927: C语言小白 照着书本写了次程序 结果发现运行结果不对 大神帮忙看看问题出在哪 -
袁非力特: scanf ("%f%F", %f要区分大小写,应该是两个小写的f....

山丹县18953043927: c语言的一段代码 帮忙看一下哪里出了问题 谢谢 -
袁非力特: 1 LinkList Function(LinkList LA,LinkList LB) // 我猜 LInkList 是应该是个指针. 如果不是, 那你的数据将被复制,处理, 原始数据将不会改变.2 不知道你...

山丹县18953043927: 这个C语言问题出在哪
袁非力特: 代码一经整理,问题也就暴露出来了.你看看,除了1楼说得错误之外,还有那些错误.void main(){ int student[10][4]; int team,p,score,a; for(a=0;a<=3;) { printf("1 jin ru xiu gai mo shi,2 jin ru cha zhao,3 tui chu!\n"); scanf("%d",&a); switch(a) { ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网