急求,字符串比较大小,用c语言编程

作者&投稿:呈烟 (若有异议请与网页底部的电邮联系)
C语言编程对字符串进行比较大小~

您好,如果只是问个算法,我可以告诉你,但是如果是你要全部 ,那就不可以了,作业要自己做的啊!
如果你要用户输入2个字符串作比较的话
可以用“ ”来区分字符串1与字符串2
然后把2个字符串存到2个数组里去比
int i=1,j=1;
char a[20],b[20]
if (c=getchar()!=" ") then
{ a[i]=c;
i++;
}
else
{
b[j]=c;
j++;
}
然后用for循环一个一个比他们的大小就可以了,如果有一个大了就return 大的值,如果遇到一个数组为空了,也return 另外一个字符串就好了。

#include
int strcmp(char *s1, char *s2)
{
while((*s1++ == *s2++)&& *s1);
return (*s1 - *s2);
}
void main()
{
char a[10], b[10];
gets(a);
gets(b);
printf("%d
", strcmp(a, b));
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char a[100][200]; //定义最大100个,每个200个字符的字符串数组
int i,j,n=10,type=1;//n为实际字符串个数,type为排序方法,1:表示冒泡法,2.简单选择法
void sort()
{
char temp[200];
if(type==1)
{
for(j=0;j<n;j++)
for(i=0;i<n-j-1;i++)
{
if(strcmp(a[i],a[i+1])>0)
{
strcpy(temp,a[i]);
strcpy(a[i],a[i+1]);
strcpy(a[i+1],temp);
}
}
}
else
{
for(j=0;j<n-1;j++)
for(i=j+1;i<n;i++)
{
if(strcmp(a[j],a[i])>0)
{
strcpy(temp,a[j]);
strcpy(a[j],a[i]);
strcpy(a[i],temp);
}
}
}
}

void main()
{
printf("请输入字符串个数n的值:\n");
scanf("%d",&n);
getchar(); //清除回车符
for(i=0;i<n;i++)
{
printf("\n第%d个字符串:",i+1);
gets(a[i]);
}
printf("\n排序前:\n");
for(i=0;i<n;i++)
puts(a[i]);
printf("请输入排序方法:1.冒泡法、2.简单选择法\n");
scanf("%d",&type);
sort();
printf("\n排序后:\n");
for(i=0;i<n;i++)
puts(a[i]);
}


C语言题目 A求字符串的长度 B比较两个字符串的大小 C将字符串str1复制...
要说明的是,(*str2++ = *str1++))在复制完后,两个指针都自增1,以便指向下一个地址。其实,这个循环可以这样写:while(*str2++ = *str1++);再加一句:str2 = '\\0'原函数中缺少*str2 = '\\0',是不完整的。从以上分析可知,该函数的功能是字符串复制,与系统函数strcpy()功能相似。

VB中字符型数据大小比较,比较的是啥?
bcd大。val("字符串")转化为整数型。再做比较。字符串的比较是按照从左到右单个字符进行比较的,如果第一个字符串的第一个字符比第二个字符串的第一个字符大则大,显然这里"bcd"的"b"比"abc"的"a"第一个字符"b">"a",所以bcd大,如果相等则比较两个字符串的第二个字符,同理。

c语言字符串比较函数strcmp是什么意思
其基本功能是判断两个字符串的大小关系:如果两个字符串相等,函数返回0;如果第一个字符串大于第二个,返回正值;反之,返回负值。比较过程通过逐个比较字符的ASCII码值进行,遇到不同的字符就根据其大小决定整体的大小关系。如果某个字符串在遇到不同字符时提前结束,那么它被视为较短的字符串。此外,...

编写程序,输入3个字符串,比较它们的大小,并将它们按由小到大的顺序输 ...
6、使用printf输入。 7、运行程序,可以看到输入的3个字符串,比较它们的大小,并将它们按由小到大的顺序输出。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他...

C语言中字符串小于字符串吗?
是的,字符串“That”小于字符串“The”。因为是利用ASCII编码逐位按照顺序来比较的:第一位“T”相同,第二位“h”相同,第三位“a”<“e”,所以“That”小于“The”。以compareTo()方法为例,两个字符串比较大小方法:1、如果字符串相等返回值为0,不等返回其他数值。比较方法是先比较对应字符...

C语言:用指针实现字符串大小的比较,应该怎样做呢?
字符串比较,可采用循环遍历字符串,用对应位置的指针所指向的字符进行比较,当相等时,循环,遇到不等或其中一个字符串结束时,结束循环,返回对应指针的对应的字符的差值,根据差值判断两个字符串的大小:返回值大于0,则前串大,返回值小于0,则前串小,返回值等于0,两个字符串相等。参考代码:inclu...

strcmp函数怎么用?
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。举例:include <string.h> m...

编写一个C语言函数,比较两个字符串的大小
{ printf("Input the first information:\\n");fgets(a,N,stdin);printf("Input the secend information:\\n");fgets(b,N,stdin);} int my_strcmp(char*a,char*b)\/\/比较字符串每个字符的大小 { while((*a!='\\0')&&(*b!='\\0')){ if(*a>*b){ return 0;} else if(*a<*b){ ...

当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小...
不正确。字符串比较的原理是从第一个字符开始比较起,如果两个字符不相同,则根据其对应ascii码大小返回结果。如果相同,才继续比较下一个字符。字符个数相同或不相同都可以。比较整个字符串用 strcmp,规定字符个数(例如只比3个字符)的比较可以用 strncmp。

c语言两个字符串比较大小的问题,不使用strcmp函数
include<stdio.h> define N 80 void cmp(char a[N],char b[N]){ int i=0;char *p1=a,*p2=b;while(*(p1+i)==*(p2+i)&&*(p1+i)!='\\0'){ i++;} if(*(p1+i)>*(p2+i))printf("%s>%s\\n",p1,p2);else if(*(p1+i)<*(p2+i))printf("%s<%s\\n",p1,p2);else...

麻城市17168711097: C语言编程,输入两个字符串,比较他们的大小并输出比较结果 -
赤虎山庆: 如果只是问个算法,我可以告诉你,但是如果是你要全部 ,那就不可以了,作业要自己做的啊! 如果你要用户输入2个字符串作比较的话 可以用“ ”来区分字符串1与字符串2 然后把2个字符串存到2个数组里去比 int i=1,j=1; char a[20],b[20] if (c=getchar()!=" ") then { a[i]=c; i++; } else { b[j]=c; j++; } 然后用for循环一个一个比他们的大小就可以了,如果有一个大了就return 大的值,如果遇到一个数组为空了,也return 另外一个字符串就好了. 其它的要你自己想了,如果全告你,那你也还是什么也学不会,算法告你了就可以了.给不给分你自己看着办吧

麻城市17168711097: 两个字符串比较大小的程序C语言 -
赤虎山庆: 楼主看看这个是否满足你的需要…… #include<stdio.h> main() {char s1[30]="",s2[30]="";int i=0;gets(s1); gets(s2);while(s1[i]!='\0'&&s2[i]!='\0'){if (s1[i]!=s2[i]) break; /*找到不同的那一项*/i++;}printf("%d",s1[i]-s2[i]); /*如果字符串完全相同,就是最后一个字符相减,但是因为它们相同,自然输出0*/}

麻城市17168711097: 用C语言写一个比较两个字符串大小的程序,字符串大小由键盘输入. 不要使用c已有库函数strcmp这些.若大于输出正数,小于输出负数,等于输出0.输出的正负数为两字符串的ASC||码
赤虎山庆: int fun2(char *s,char *t) {if(s==0||t==0)return 0; while(*s&&*t&&*s==*t)s++,t++; return *s-*t; } void main() { char s[100],t[100]; printf("输入字符串:"); gets(s); printf("输入字符串:"); gets(t); printf("%d\n",fun2(s,t)); } VC6通过

麻城市17168711097: 在C语言中字符串的大小怎么比较啊? -
赤虎山庆: strcmp原型:extern int strcmp(char *s1,char * s2);用法:#include <string.h>功能:比较字符串s1和s2.说明:当s1<s2时,返回值<0当s1=s2时,返回值=0当s1>s2时,返回值>0即:两个字符串自左向右逐个字符相比(按ASCII值大小...

麻城市17168711097: C语言编程对字符串进行比较大小 -
赤虎山庆: 您好,如果只是问个算法,我可以告诉你,但是如果是你要全部 ,那就不可以了,作业要自己做的啊!如果你要用户输入2个字符串作比较的话 可以用“ ”来区分字符串1与字符串2 然后把2个字符串存到2个数组里去比 int i=1,j=1; char a[20],b[20] if (c=getchar()!=" ") then { a[i]=c; i++; } else {b[j]=c; j++; } 然后用for循环一个一个比他们的大小就可以了,如果有一个大了就return 大的值,如果遇到一个数组为空了,也return 另外一个字符串就好了.

麻城市17168711097: 用C语言编程不用strcat实现字符串大小的比较 -
赤虎山庆: 你说的是strcmp?#include <stdio.h> int mystrcmp(const char *a, const char *b) { while (*a || *b){if (*a != *b) return *a - *b;a++; b++; }return 0; } int main() { if (0 == mystrcmp("hello", "hello")) printf("same\n"); else printf("different\n"); return 0 ; }

麻城市17168711097: c语言中怎么比较字符串的大小………… -
赤虎山庆: 头文件#include<string.h> 字符串比较函数:strcmp 语法形式: strcmp(str1, str2); /*str1和str2为已定义好的两个字符数组*/ 功能:将str1与str2进行比较,若str1大于str2,则返回正值,若str1与str2相等,则返回0,若str1小于str2,则返回负值.

麻城市17168711097: 在C语言中比较字符串的大小 -
赤虎山庆: gets函数知道接收换行符或是eof是停止.而你输入两串字符串的时候只是有空格.改正就是输完一个字符串回车一下

麻城市17168711097: C语言怎么比较两个字符串大小? -
赤虎山庆: 两个字符串s1和s2,若s1=s2时,返回值为0;若s1不等于s2时,返回它们二者第一个不同字符的ASCII码差值(如"BOY"与"BAD",第二个字母不同,"O"与"A"之差为79-65=14).如果s1 > s2,则输出正值;如果s1 < s2,则输出负值...

麻城市17168711097: C语言字符比大小 -
赤虎山庆: #include #include main() {char a[100],ch,c; int i,j;gets(a);for(i=0;ifor(j=0;jif(a[i]>a[j]) {c=a[i];a[i]=a[j];a[j]=c;} puts(a);}看出问题来了吗

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