第10章 C语言及程序设计提高例程-37 操作字符串数组

原创 2016年06月01日 17:44:28

问题及代码:

/*求最小姓氏*/

#include <stdio.h>  
#include <string.h>
char *min_name(char [][10],int);
int main()
{
  char name[5][10]={"Zhao", "Qian", "Sun", "Li", "Zhou"};
  printf("%s\n",min_name(name,5));
  return 0;
}

char *min_name(char nam[][10],int n)
{
   int i;
   char *p;
   p = nam[0];
   for(i=0;i<n;i++)
     if(strcmp(p,nam[i])>0)   //比较s1、s2大小,s1大为正 
       p = nam[i];
   return p;
}

2、

问题及代码:

/*姓氏排序*/

#include <stdio.h>  
#include <string.h>
void sort(char *name[],int n);
void print(char *name[],int n);
int main()
{
  char name[5][10]={"Zhao", "Qian", "Sun", "Li", "Zhou"};
  sort(name,5);  //这里出错?为什么?
  print(name,5);
  return 0;
}

void print(char *name[],int n)
{
   int i;
   for(i=0;i<n;i++)
      printf("%s\n",name[i]);
}

void sort(char *name[],int n)
{
  char *temp;
  int i,j,k;
  for(i=0;i<n-1;i++) 
  {
     k=i;
     for(j=i+1;j<n;j++)  
        if(strcmp(name[k],name[j])>0)
           k=j;
     temp=name[i];
     name[i]=name[k];
     name[k]=temp;
   }
}


3、

/*用二级指针处理*/
#include<stdio.h>
int main()
{
  char **p;  //类型写成int,造成编译不了
  char *name[]={"Zhao", "Qian", "Sun", "Li", "Zhou"};  
  for(p=name+1;p<name+5;p+=2)  //二级指针是什么意思?,name+1是行的地址
    printf("%s\n",*p);
  return 0;
}  


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言提高-37讲: 操作字符串数组(带姓名的成绩单)

任务和代码: /* *All rights reserved *文件名称:main.c *作者: Osseyda 完成日期:2017.11.1 *版本号:v2. *问题描述:设score数组中存储8名...

C语言及程序设计初步例程-37 循环嵌套

贺老师教学链接  C语言及程序设计初步 本课讲解求 #include int main() { int sum=0, i=1, t; while (i...

C语言及程序设计进阶例程-37 二进制文件及其读写

贺老师教学链接 C语言及程序设计进阶 本课讲解对比ASCII文件和二进制文件//(1)将short int x=12321写入文本文件 #include #includeint main( ) { ...

C语言及程序设计提高例程-24 数组名作为函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解用数组元素作函数实参#include int gcd(int m,int n) { int r; while(r=m%n) {...

第4周 C语言及程序设计提高例程-18 一维数组应用二三例

1、应用1: 利用数组求Fibonacci数列的前20项 问题及代码: #include int main( ) { int i; int f[20]= {1,1}; for...

C语言及程序设计提高例程-26 实现线性表基本操作的函数

贺老师教学链接  C语言及程序设计提高 本课讲解删除指定位置上的数据#include #define SIZE 100 int deleteData(int[], int, int); int n=...

C语言基础,字符串数组

  • 2013年08月08日 12:20
  • 748B
  • 下载

C语言及程序设计进阶例程-14 开发一个电子词典

贺老师教学链接  C语言及程序设计进阶 本课讲解开发一个电子词典(下载词库点击打开链接)#include #include #include //定义词条类 typedef struct { ...

C语言及程序设计进阶例程-18 链表中结点的插入和删除

贺老师教学链接  C语言及程序设计进阶 本课讲解回顾:动态分配和撤销内存#include #include struct Student { int num; float scor...

C语言及程序设计进阶例程-29 枚举类型及其应用

贺老师教学链接 C语言及程序设计进阶 本课讲解He先生方案一:用整型表示品牌、颜色#include int main( ) { int brand,color; //brand=0...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第10章 C语言及程序设计提高例程-37 操作字符串数组
举报原因:
原因补充:

(最多只允许输入30个字)