博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验九
阅读量:4617 次
发布时间:2019-06-09

本文共 2590 字,大约阅读时间需要 8 分钟。

 1.定义函数实现:输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩,最后按照成绩从高到低排序后输出。(至少七个函数。输入函数、平均值函数、最大值下标函数、最小值下标函数,查找函数,排序函数,输出函数)

#include
#define N 100void readscore(int score[],int n);//输入数据 void printscore(int score[],int n);//输出数据 double average(int score[],int n);//求平均值 int findmaxindex(int score[],int n,int index[]);//求最高分及对应下标 int findminindex(int score[],int n,int index[]);//求最低分及对应下标 int Search(int score[],int n,int x);//查找 void bubblesort(int score[],int n);//排序int main(){ int score[N]={
0},n,i,sum,count1,count2,index[N]={
0},chazhao,x; double ave; printf("请输入班级人数"); scanf("%d",&n); printf("\n"); readscore(score,n); ave=average(score,n); printf("平均值为%.3f\n",ave); count1=findmaxindex(score,n,index); for(i=0;i
max) { max=score[i]; count1=0; index[count1++]=i; } } return count1;}int findminindex(int score[],int n,int index[])//求最低分{ int i,min,count2; min=score[0]; count2=0; for(i=0;i
score[j+1]) { t=score[j]; score[j]=score[j+1]; score[j+1]=t; flag=1; } } if(flag==0) { break; } } }

   2.定义长度为100的整型数组,将数组元素赋初值为1,2……100,将其中所有值为3或7倍数的值删除,最后打印输出数组中剩余数的个数及每个数。

#include
int main(){ int i,a[100]={
0},n=0; for(i=0;i<100;i++) { a[i]=i+1; if(a[i]%3==0||a[i]%7==0) { continue; } else { n++; printf("%4d",a[i]); } } printf("有%d个数",n); return 0;}

#include
int main(){ int i,a[100]={
0},n=0; for(i=0;i<100;i++) { a[i]=i+1; if(a[i]%3!=0&&a[i]%7!=0) { n++; printf("%4d",a[i]); } } printf("有%d个数",n); return 0;}

实验总结:

1、注意与和或使用时的条件

2、注意只想结束一条语句是用的是continue,break是跳出循环

3、在自定义函数和主函数中数值的类型应一致

4、在调用函数时注意函数的对应

5、 数组的数据处理通常是通过循环结构来完成的,需要注意此时循环变量的初值是0,循环条件是i<10,那么在循环体中如果出现类似a[i-1]和a[i+1]的操作时就要考虑一下是否出现数组越界的情况了。

6、在使用函数时

(1)函数中定义的变量(包括形参),它只在本函数范围内起作用,我们称之为局部变量。在其他函数中是不能使用本函数定义的变量的。

 (2)简单变量做函数参数和数组做函数参数存在着本质的不同。

     简单变量做参数,实现的是值的单向传递,即只能把实参的值传给形参,由于实参和形参占用不同的内存单元,形参的改变不会影响实参。

     数组做函数参数,是将实参数组的地址传给形参数组,实参和形参占用的是相同的内存空间。       

三、程序分析

程序1:

  数组做函数参数,是将实参数组的地址传给形参数组,实参和形参占用的是相同的内存空间 ,因此交换的数值改变    

程序2:

简单变量做参数,实现的是值的单向传递,即只能把实参的值传给形参,由于实参和形参占用不同的内存单元,形参的改变不会影响实参。所以输出的还是实参。没有改变数值。

 

转载于:https://www.cnblogs.com/lr97/p/6123150.html

你可能感兴趣的文章
HTTP请求过程
查看>>
织梦多域名解析到同一个空间导致打开链接不一致怎么办?
查看>>
OpenCV探索之路(十五):角点检测
查看>>
Xcode10 library not found for -lstdc++ 找不到问题
查看>>
Mysql 8.0.13如何重置密码
查看>>
发布功能完成
查看>>
excel 合并单元格
查看>>
iOS设计模式简介
查看>>
c# 扩展方法 奇思妙用 高级篇 九:OrderBy(string propertyName, bool desc)
查看>>
Log4net入门(ASP.NET MVC 5篇)
查看>>
C语言中的地址传递(传指针,传递给形参的指针仍然是实参指针的一份拷贝)
查看>>
redis缓存数据库及Python操作redis
查看>>
opencms忘记Admin用户登录密码解决方案
查看>>
forms组件
查看>>
create-react-app 配置sass
查看>>
02_关系数据库
查看>>
在win7电脑中如何查看运行进程的PID标识符
查看>>
[Vue] vue-cli3.0安装
查看>>
shell中如何进行算术运算
查看>>
为什么所有的架构都是糟糕的
查看>>