- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计 实验报告
班级 日期 20**/5/19
学生姓名 学号
第 4 次上机
实验1 数组编程实验
程序设计
编写并上机调试运行能实现以下功能的程序。
(1) 编写一个程序, 其功能要求是:输入一个整数,将它在内存中二进制表示的每一位转换成为对应的数字字符,存放到一个字符数组中,然后输出该整数的二进制表示。
(2) 编写一个程序, 其功能要求是:输入n个学生的姓名和C语言课程的成绩,将成绩按从高到低的次序排序,姓名同时作相应调整,输出排序后学生的姓名和C语言课程的成绩。然后,输入一个C语言课程成绩值,用二分查找进行搜索。如果查找到有该成绩,输出该成绩同学的姓名和C语言课程的成绩;否则输出提示“not found!”。
(3)编写函数strnins(s,t,n),其功能是:可将字符数组 t中的字符串插入到字符数组 s中字符串的第n个字符的后面。
(1)
#include <stdio.h>
void main(void)
{
char cArr[33]={'\0'},ch;
int temp,des=0,k=32;
while ((ch=getchar())!='\n')
if (ch>='0' &&ch<='9')
des=des*10+ch-48;
temp=des;
while(k>0){
cArr[--k]=temp%2+48;
temp/=2;
}
printf("%d entered, corresponding 2 base Number is %s\n",des,cArr);
return;
}
(2)
#include "stdio.h"
#define NUM 100
void scoreSort(int sm[],char sn[][NUM],int n);
int find(int sm[],int n,int score);
int main(int argc, char* argv[])
{
int ifind,score,i,n,sm[NUM];//存分数的数组
char sn[NUM][NUM];//存名字的数组
printf("input the number of students:\n");
scanf("%d",&n);
printf("intput the name and score\n");
for(i=0;i<n;i++)
{
scanf("%s",sn[i]);//输入名字
scanf("%d",&sm[i]);//输入分数
}
scoreSort(sm,sn,n);
i=0;
while(i<n)
{
printf("name:%s score:%d\n",sn[i],sm[i]);
i++;
}
printf("input the socre you want to find\n");
scanf("%d",&score);
ifind =find(sm,n,score) ;
if(ifind>=0)
printf("name:%s score:%d\n",sn[ifind],sm[ifind]);
else
printf("Not Find");
return 0;
}
void scoreSort(int sm[],char sn[][NUM],int n)//n为学生数, 此为排序函数,把分数最高的放前面
{ int a,i,j,k;char b;
For(i=o;i<n;i++)
{
for(j=i;j<n;j++)
{
if(sm[i]<sm[j])
{ a=sm[i];sm[i]=sm[j];sm[j]=a;
k=0;
while(k<NUM){
b=sn[i][k];sn[i][k]=sn[j][k];sn[j][k]=b;k++;}
}
}
}
int find(int sm[],int n,int score)//二分法查找函数
{
int i = 0,j = n -1,mid;
while(i <= j)
{
mid = (i+j)/2;
if(score<sm[mid])
{
i=mid +1;
}
else if(score>sm[mid])
{
j = mid-1;
}
else
return mid;
}
return -1;
}
您可能关注的文档
- 3d max动画设计-毕业论文.doc
- 1995载货汽车后围加强梁拉延模具的设计毕业设计论文.doc
- BS软件设计-毕业设计课题汇总.doc
- C语言_学生信息查询系统(含程序源代码).doc
- C语言程序设计导学(第三版)参考答案.doc
- C语言大学实用教程-课后参考答案.doc
- C语言第一类第六周.docx
- C语言课程设计_校际运动会管理系统,地大版,最简洁.doc
- C语言课程设计报告01.doc
- C语言课程设计-汉诺塔动态演示.doc
- 一病一品护理汇报(手工精品图文).ppt
- 国家义务教育质量监测四年级心理健康测试卷3+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷2+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷5+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷1+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷4+问卷(通用版附答案).docx
- 13(猫)第3课时 课件+公开课一等奖创新教学设计.docx
- 孙权劝学 (同步公开课一等奖创新教学设计).docx
- 第17课 要是你在野外迷了路 公开课一等奖创新教学设计.docx
- 统编版(五四制)11古诗二首 池上 公开课一等奖创新教学设计.docx
文档评论(0)