C语言实验八.doc
《C语言实验八.doc》由会员分享,可在线阅读,更多相关《C语言实验八.doc(3页珍藏版)》请在冰豆网上搜索。
实验结束将答案发至hmyin@,标题取学号姓名第八次实验
1编程题p84
问题描述字符串复制。
输入一个字符串t和一个正整数m,将字符串t中从第m个字符开始的全部字符复制到字符串s中,再输出字符串s。
要求用字符指针定义并调用函数strmcpy(s,t,m),它的功能是将字符串t中从第m个字符开始的全部字符复制到字符串s中。
voidstrmcpy(char*s,char*t,intn)
输入:
Inputastring:
happynewyear
Inputaninteger:
7
输出:
Outputis:
newyear
#include
#include
intmain()
{
voidstrmcpy(char*s,char*t,intm);
intm;
chart[80],s[80];
gets(t);
scanf("%d",&m);
if(strlen(t){printf("errorinput!
\n");}
else
{
strmcpy(s,t,m);
printf("%s\n",s);
}
}
Voidstrmcpy(char*s,char*t,intm)
{
char*from;
char*to;
from=t+m-1;
to=s;
do
{
*to=*from;
from++;
to++;
}while(*(from-1)!
='\0');
}
2通讯录排序p89
【问题描述】建立一个通讯录的结构记录,包括姓名(name)、生日(day)、电话号码(num)。
输入n(n<10)个朋友的信息,再按他们的年龄从大到小的顺序依次输出其信息
【输入形式】先输入朋友数n(整型,n<10),再依次输入每个朋友的姓名(字符串)、生日(long)、和电话号码(字符串)。
【输入输出样例】(下划线部分表示输入)
Inputn:
3
Inputthename,day,numofthe1friend:
zhang19850403021-56331371
Inputthename,day,numofthe2friend:
wang19821020021-56331372
Inputthename,day,numofthe3friend:
qian19840619021-56331373
wang□19821020□021-56331371
qian□19840619□021-56331372
zhang□19850403□021-56331373
#include
intmain()
{
inti,j,n,index;
structfriend{
charname[20];
longbirthday;
charphone[20];
}temp,friends[10];
scanf("%d",&n);
for(i=0;iscanf("%s%ld%s",friends[i].name,&friends[i].birthday,friends[i].phone);
for(i=0;iindex=i;
for(j=i+1;jif(friends[index].birthday>friends[j].birthday)
index=j;
temp=friends[index];
friends[index]=friends[i];
friends[i]=temp;
}
for(i=0;iprintf("%s%ld%s\n",friends[i].name,friends[i].birthday,friends[i].phone);
}
3构建简单的手机通讯录(用文件)
¨联系人的基本信息:
姓名、年龄和联系电话
¨最多容纳50名联系人的信息
¨具有新建(f1.txt)、查询(f2.txt)功能
voidnew_friend(void);voidsearch_friend(char*name);