收藏 分销(赏)

C技能训练3运用字符串及指针进行程序设计.doc

上传人:仙人****88 文档编号:7986010 上传时间:2025-01-29 格式:DOC 页数:5 大小:30KB 下载积分:10 金币
下载 相关 举报
C技能训练3运用字符串及指针进行程序设计.doc_第1页
第1页 / 共5页
C技能训练3运用字符串及指针进行程序设计.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
C技能训练3 运用字符串和指针进行程序设计 一、要求:掌握运用字符串和指针结合编程的基本技能。 二、内容: (1)编写函数slength(char *s),函数返回指针s所指字符串的长度。 (2)编写函数scopy(char *s,char *t),将指针t所指的字符串复制到指针s所指存储空间中。 (3)编写函数scomp(char *s1,char *s2),将两个字符串s1和s2进行比较,若s1>s2,函数返回值为正数;若s1=s2,函数返回值为0;若s1<s2,函数返回值负数。 第一题: 例一:编写函数slength(char *s),函数返回 #include "stdio.h" slength(char *); main() {char str[]="ABCDEF"; int len1,len2; len1=slength(""); len2=slength(str); printf("len1=%d,len2=%d\n",len1,len2); getchar(); } slength(char *s) {int n=0; while(*(s+n)!='\0')n++; return (n); } 例二:编写函数scopy(char *s,char *t),将指针t所指的字符串复制到指针s所指的存储空间 #include "stdio.h" void scopy(char *s,char *t) {int i; i=0; while((s[i]=t[i])!='0') i++; } void scopy(char *s,char *t) { while ((*s=*t)!='\0'){s++;t++;} } main() {char str1[20],str2[]="ABCDEFGH"; scopy(str1,str2); puts(str1); } 例三:编写函数scomp(char *s1,char *s2),将两个字符串进行比较,若串s1>s2,函数返回值为正数;若串s1==s2,函数返回值为0;若串s1<s2,函数返回值为负数。即相当于库函数strcmp的功能。 #include "stdio.h" scomp(char *s1,char *s2) {int i;  i=0;  while(s1[i]==s2[i] && s1[i])i++; return(s1[i]-s2[i]); } main() {char str1[]="ABC",str2[10]; gets(str2); if(scomp(str1,str2)>0)      printf("str1>str2\n"); else if(scomp(str1,str2)<0) printf("str1<str\n"); else                        printf("str1=str2\n"); } (4)编写程序从输入的若干字符串中找出最小的串进行输出。编写如下函数完成操作。 ①getstr(char (*p)[]):输入M个不超过N个字符的字符串存放到p所指的二维数组中; ②int *findmin(char (*p)[]):找出最小串所在的位置; ③outstr(char (*p)[]):输出所有字符串; ④outmin(int (*sp)[],int n):输出最小串。 #include "stdio.h" #include "string.h" #define N 20 #define M 81 getstr(char p[][M]) {char t[M],n=0;        printf("Enter string.a empty string to end\n"); gets(t); while(strcmp(t,"")) {strcpy(p[n],t);   n++;gets(t); } return n; } char *findmin(char (*a)[m],int n) {char *q;int i; q=a[0]; for(i=1;i<n;i++)   if(strcmp(a[i],q)<0)            q=a[i]; return q; } main() {char s[N][M],*sp; int n,i; n=getstr(s); sp=findmin(s,n); puts(sp);   }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服