① c语言 随机产生10个手机号,不能重复。输入英文名后绑定手机号,一个名字一个手机号
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
constintPHONE_LENGTH=11;
constchar*PREFIX="139";
typedefstruct{
intavailable;
charnumber[PHONE_LENGTH+1];
charowner_name[31];
}PhoneNumber;
voidphoneNumberGenerator(PhoneNumber*phones,intsize,constchar*prefix);
voiddisplayPhoneNumber(PhoneNumber*phones,intsize);
intmain(void)
{
chartname[31];
intid;
PhoneNumberphones[10];
phoneNumberGenerator(phones,10,PREFIX);
displayPhoneNumber(phones,10);
while(1)
{
puts("请输入您的姓名");
scanf("%s",tname);
puts("请输入您喜欢号码的编号");
scanf("%d",&id);
if(phones[id].available)
{
strcpy(phones[id].owner_name,tname);
phones[id].available=0;
displayPhoneNumber(phones,10);
}else
{
puts("此号已被占用,请选择其他的号码");
}}return0;
}
voidphoneNumberGenerator(PhoneNumber*phones,intsize,constchar*prefix)
{
intrepeat;//重复标志变量
for(inti=0;i<size;++i)
{
strncpy(phones[i].number,prefix,strlen(prefix));//复制号码前缀
phones[i].available=1;//初始化号码为可用
strcpy(phones[i].owner_name,"unknow");//初始化号码的拥有着为"unknow"//开始产生号码
do{
repeat=0;
/*******************产生一个随机号码******************/
for(intj=strlen(prefix);j<PHONE_LENGTH;++j)
{
(phones[i].number)[j]=rand()%10+'0';
}
(phones[i].number)[PHONE_LENGTH]='