蓝桥杯练习碰到两个此类题了:
算法提高 11-1实现strcmp函数  
时间限制:1.0s   内存限制:256.0MB
    
问题描述
  自己实现一个比较字符串大小的函数,也即实现strcmp函数。函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2。若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1。具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止(注意'\0'值为0,小于任意ASCII字符)。如:
  "A"<"B"
  "a">"A"
  "computer">"compare"
  "hello"<"helloworld"
样例输出
数据规模和约定
  字符串长度<100。
 
 
 
算法提高 字符串比较  
时间限制:1.0s   内存限制:512.0MB
    
独立实现标准字符串库的strcmp函数,即字符串比较函数,从键盘输入两个字符串,按字典序比较大小,前者大于后者输出1,前者小于后者输出-1,两者相等输出0。
样例输入: 
  apple one
样例输出:
  -1
样例输入:
  hello he
样例输出:
  1
样例输入:
  hello hello
样例输出:
  0
 
注:两题代码实现相同。
 
第30行涉及到qsort()函数的用法,可参考我的另一篇:
 
 #include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<ctype.h>
/*定义一个结构体*/
typedef struct Stu{
char str[];
}stu;
int cmp(const void *a,const void *b){
stu c = *(stu*)a;
stu d = *(stu*)b;
//按姓名字符进行字典排序
if(strcmp(c.str,d.str)>){
printf("-1");
return strcmp(c.str,d.str);
}else if(strcmp(c.str,d.str)<){
printf("");
return strcmp(c.str,d.str);
}else if(strcmp(c.str,d.str)==){
printf("");
return strcmp(c.str,d.str);
}
}
main(){
stu st[];
for(int i=;i<;i++){
scanf("%s",&st[i]);
}
qsort(st,,sizeof(st[]),cmp);
return ;
}

C语言 · 实现strcmp函数 · 字符串比较的更多相关文章

  1. C语言strcmp()函数:比较两个字符串

    strcmp() 函数用于对两个字符串进行比较(区分大小写). 头文件:string.h 语法/原型: int strcmp(const char* stri1,const char* str2); ...

  2. C语言相关的基础字符串函数

    C语言中没有专门的字符串类型,所以就用字符数组和字符指针形式表示 1 char arr[]="abcdef"; //字符数组表示的字符串 2 char*arr="abce ...

  3. js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么

    js课程 3-10  js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么 一.总结 一句话总结:js中是对象点方法的形式,这些方法都是对象的方法,而在php.java中却不是这样. 1.j ...

  4. 内置函数 字符串比较 strcmp 登录密码

    1 //内置函数 字符串比较 strcmp 2 // 原理:将两个字符串从首字母开始,按照ASCII码的顺序逐个比较 3 //字符串1 == 字符串2 返回0 4 //字符串1 < 字符串2, ...

  5. 【C语言】模拟实现strcmp函数

    //模拟实现strcmp函数 //str1>str2,返回1 //str1=str2,返回0 //str1<str2,返回-1 #include <stdio.h> #incl ...

  6. iOS开发系列--C语言之数组和字符串

    概览 数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等.而在C语言中是没有String类型的,那么如果要表示一个字符串,就必须使用字符数组.今天主要就介绍如 ...

  7. 《c程序设计语言》读书笔记--字符串比较

    举例如下: char a[10]; 1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如  char a[10];  a[10]= ...

  8. strcmp函数

    strcmp函数用于c语言中两个字符串比较(只可以比较字符串,不可以比较数字) 规则 当s1>s2时,返回为正数: 当s1=s2时,返回值为0: 当s1<s2时,返回为负数: 两个字符串自 ...

  9. YTU 2420: C语言习题 不等长字符串排序

    2420: C语言习题 不等长字符串排序 时间限制: 1 Sec  内存限制: 128 MB 提交: 460  解决: 239 题目描述 在主函数中输入n(n<=10)个不等长的字符串.用另一函 ...

随机推荐

  1. Oracle PUP(PRODUCT_USER_PROFILE)配置和使用

    近期在翻Oracle SQLPLUS官方文档,在讲SQLPLUS Security章节介绍了PUP这个机制.借此.我来使用下面: PUP(PRODUCT_USER_PROFILE)介绍   PRODU ...

  2. 列表生成式&生成器表达式

    一.列表生成式 def func(): return [lambda x:i*x for i in range(4)] print([j(2) for j in func()]) 结果:[6,6,6, ...

  3. NYOJ——————数的长度(斯特林公式的应用)

    数的长度 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出 ...

  4. HDUOJ------(1272)小希的迷宫

    小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  5. Hibernate 、 Axis2发布

    1. you just compile your web-service into aar file (not include bean files), copy the aar into axis2 ...

  6. Oracle用同义词可以不使用用户名.表名查询表 Oracle 创建synonym

    一般在PL/SQL下,Oracle 用户查询其他用户的表一定要使用user.table格式才能查询,每次用户名.表名嫌麻烦的话.可以使用同义词,意思将user.table访问格式改成table格式即可 ...

  7. RMAN - 发现I/O瓶颈

    大多数操作系统支持异步I/O. 备份到磁盘,异步I/O是一个优势,因为一个服务器进程同时可以执行多个I/O操作:同步I/O必须等上一个I/O操作完成才可以执行下一个I/O操作. 初始化参数disk_a ...

  8. Linux中断 - tasklet

    一.前言 对于中断处理而言,linux将其分成了两个部分,一个叫做中断handler(top half),属于不那么紧急需要处理的事情被推迟执行,我们称之deferable task,或者叫做bott ...

  9. Linux内核(4) - 内核学习的心理问题

    对于学习来说,无论是在学校的课堂学习,还是这里说的内核学习,效果好或者坏,最主要取决于两个方面——方法论和心理.注意,我无视了智商的差异,这玩意儿玄之又玄,岔开了说,属于迷信的范畴. 前面又是Kern ...

  10. Linux 配置rdate时间服务器方法

    配置多台服务器时,经常需要让各个服务器之间的时间保持同步,如果服务器有外网环境,可以直接同外部的时间服务器更新时间,可以采用rdate命令更新时间: rdate -s tick.greyware.co ...