- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1、编写函数,实现对按从小到大排列的n个元素的有序数组a进行二分查找x的算法,若查找成功返回该元素下标,否则返回-1。
例:有序数组 a[10]={0,1,2,3,4,5,6,7,8,9}
输入:2
输出:2
输入:10
输出:-1
#include stdio.h
void main()
{int fn(int a[],int n,int x);
int a[10]={0,1,2,3,4,5,6,7,8,9},x;
scanf(%d,x);
printf(%d\n,fn(a,10,x));
}
int fn(int a[],int n,int x)
{
int l,r,mid,flag=-1;
l=0;r=n-1;
while(l=r)
{mid=(l+r)/2;
if(a[mid]==x){flag=mid;break;}
if(a[mid]x)
l=mid+1;
else
r=mid-1;
}
return flag;
}
2、编写一个程序完成字符串拷贝的功能函数str_copy(a,b),可将字符数组a中的对应内容ascii码加1后拷贝到b中。
输入:abc
输出:bcd
#include stdio.h
void str_copy(char a[],char b[])
{
int i;
while(*a)
{
*b++=(*a++)+1;
}
*b=0;
}
void main()
{
char str1[10],str2[10];
scanf(%s,str1);
str_copy(str1,str2);
printf(%s\n,str2);
}
3、用选择排序完成对下列数据的排序操作:19,454,23,67,89,3467,1,56。具体要求如下:
(1)在主函数中通过对数组初始化的方式将该数列存在数组中,在子函数中完成排序操作。
(2)函数的返回类型必须定义成void类型。
(3)输出应在主函数中完成。
#include stdio.h
void fn(int a[],int n)
{
int i,j,k,t;
for(i=0;in;i++)
{ k=i;
for(j=i+1;jn;j++)
if(a[k]a[j])k=j;
if(k!=i)
{t=a[i];a[i]=a[k];a[k]=t;}
}
}
void main()
{
int a[8]={19,454,23,67,89,3467,1,56},i;
fn(a,8);
for(i=0;i8;i++)
printf(%d,,a[i]);
printf(\n);
}
4、编写一个函数atoi,该函数的作用是将一个整数字符串转换成一个整数。函数定义的形式为int atoi(char *str),其中str是字符串的首地址。函数的返回值为求出的整数。如atoi(“123”) 的返回值为整数123。、
要求输入一个数字字符串和一个整数,将对应数字字符串转换为整数后计算和并输出。
例:输入:123 3
输出:126
#include stdio.h
int atoi(char *str)
{
int i=0,sum=0;
while(str[i]!=\0)
{
sum=sum*10+str[i]-0;
i++;
}
return sum;
}
void main()
{
char str[10];
int n;
int s;
scanf(%s%d,str,n);
s=atoi(str);
printf(%d\n,s+n);
}
5、请编写一个函数fun,它的功能是:输入并计算n门课程的平均分,计算结果作为函数值返回。输出时小数点后保留1位。
函数的首部为:double fun (double a[],int n)
例:输入:5
97 77 85 64 81
输出:80.8
#include stdio.h
double fun(double a[],int n)
{
int i;
double p,sum=0.0;
for(i=0;in;i++)
sum=sum+a[i];
p=sum/n;
return p;
}
void main()
{
int i,n;
double a[20];
scanf(%d,n);
for(i=0;in;i++)
scanf(%lf,a[i]);
printf(%.1f\n,fun(a,n));
}
6、要求程序的功能是:从键盘输入n个数存入一个数组,然后输出该数组中的最小值及对应下标。其中确定最小值的下标的操作在f
您可能关注的文档
- 高三阶段性训练1.doc
- 2015阶段测试1.doc
- 高数2-1第二阶段13-14.doc
- 房地产经营与管理(专升本)阶段性作业2.doc
- 工程力学(专升本)阶段性作业1.doc
- 北邮货币银行学第一阶段作业.docx
- 北邮成本会计阶段一.doc
- 中国地质大学VB程序设计(专升本)阶段性作业1.doc
- 公共经济学阶段性作业2.doc
- 粤教版九年级思想品德1.1初级阶段的社会主义同步训练.doc
- 广东省湛江市2024-2025学年高二下学期期末调研测试考试物理试卷(含解析).pdf
- 和差化积公式及四大应用学生版.docx
- 陕西省汉中市2024-2025学年高二下学期7月期末化学试题(含答案).docx
- 广东省湛江2024-2025学年高二下学期期末调研考试数学试题(含答案).pdf
- 广东省湛江2024-2025学年高二下学期期末调研考试历史试题(含答案).docx
- 广东省湛江2024-2025学年高二下学期期末调研考试历史试题(含答案).pdf
- 广东省湛江2024-2025学年高二下学期期末调研考试语文试题(含答案).docx
- 和差化积公式及四大应用学生版.pdf
- 陕西省汉中市2024-2025学年高二下学期7月期末物理试题(含答案).pdf
- 河北省保定市2024-2025学年高一下学期期末调研考试历史试题.docx
文档评论(0)