c语言:写几个函数-创新互联
c语言:写几个函数
分享文章:c语言:写几个函数-创新互联
转载来于:http://pwwzsj.com/article/iiohs.html
###1.输入10个职工的姓名和职工号
创新互联建站自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、网站建设、外贸网站建设、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。###2.按职工号由小到大顺序排序,姓名也随之调整
###3.输入一个职工号,用折半查找法(二分查找)找出该名职工的姓名,从主函数输入查找的职工号,输出该职工姓名
#include#include#include#include#pragma warning(disable:4996)
#define n 10 //预编译 n = 10
int main(){void first(char name[][10],int num[10]);
void second(char name[][10],int num[10]);
void third(char name[][10],int num[10],int k);
char name[n][10];
int num[10],k = 0;
printf("请输入数字:\n");
first(name,num); //调用第一个函数(第一问)
second(name,num); //调用第二个函数(第二问)
printf("请输入职工号\n");
scanf("%d",&k);
third(name,num,k); //调用第三个函数(第三问)
return 0;
}
void first(char name[][10],int num[10]){//输入10个职工的姓名和职工号
int i,k;
for ( i = 0; i< 10; i++)
{ printf("输入第%d个数字:",i+1);
scanf("%d",&num[i]);
printf("输入第%d个名字:",i+1);
scanf("%s",name[i]);
}
}
void second(char name[][10],int num[10]){//按职工号由小到大顺序排序,姓名也随之调整
int i,j,temp = 0;
char xingming[10]; //存储姓名
for ( i = 0; i< n - 1; i++) //排序
{for ( j = 0; j< n - i - 1; j++)
{if (num[j] >num[j+1])
{ temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
strcpy(xingming,name[j]); //字符排序使用strcpy函数
strcpy(name[j],name[j+1]);
strcpy(name[j+1],xingming);//字符串1,必须写成数组名形式,字符串2,可以是字符数组名
}
}
}
for ( i = 0; i< n; i++)
{printf("排序之后:%d\t",num[i]);
printf("排序之后:%s\n",name[i]);
}
}
void third(char name[][10],int num[10],int k) //折半查找法
{int min=0,max=9,middle=0; //初始化第一个元素,中间的元素以及最后一个元素
while(min<=max)
{middle=(min+max)/2;
if(k>num[middle])
min=middle+1;
else if (kprintf("%s\n", name[middle]);
break;
}
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享文章:c语言:写几个函数-创新互联
转载来于:http://pwwzsj.com/article/iiohs.html