C语言实验7
C语言实验报告7模板
宁夏师范学院数学与计算机科学学院
《高级语言程序设计》实验报告
实验序号:7实验项目名称:数组的学习
学号姓名专业、班级12级数应(2)班实验地点指导教师郑利珍时间
一、实验目的及要求
1、掌握数组的定义的正确方法。
2、了解数组元素的存储规律。
二、实验设备(环境)及要求
硬件:PC(PII以上,128M以上内存);
软件:Windows XP操作系统、Visual C++ 6.0。
三、实验内容、步骤及结果
1、fibonacci数列的前两个数为1,1,以后每一个数都是其前两个数之和。求fibonacci数列中的前20个数。用数组存放并按一行10个数的格式输出。
2、将一个数列头尾颠倒。设该数列为1,3,5,7,9,11,13,15,17,19。要求编写一函数,对包含任意个数的数列实现颠倒处理。数列由main函数输入,输出数列亦在main函数中进行。
3、将10个实数存储在一个数组中,设计一个程序输出这个数组的最大值和最小值。
4、设计选择排序的C语言程序。
5、编写一个函数,使给定的一个二维数组(3×3)转置,即行、列互换。
6、输入一个n×n矩阵中各元素的值,求出两条对角线上的元素值之和。
7、有n个学生,每人考m门课。
(1)找出成绩最高的学生的学号和课程号。
(2)找出有不及格课程的学生的学号及其各门课的全部成绩。
(3)求全部学生全部课程总平均分。
8、有17个人围成一圈(编号为1~17),从第1号开始进行1、2、3报数,凡报3者就退出,下一个人又从1开始报数……直到最后只剩下一个人时为止。请问此人原来的位置是多少号?
C语言实验-第七章-第九章2
实验七:指针的应用
【实验目的】
1.掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;2.掌握指针变量的定义和初始化,指针变量的引用方式;
3.能正确使用数组的指针和指向数组的指针变量;
【实验内容】
1.填空题
输入一个字符串,将其中的大写字母转换成小写字母,然后输出
本程序主要是比较scanf()输入和gets()输入的区别
#include
void main()
{ char s[20];
char *p=s;
scanf(“%s”,p); /*注意用scanf()输入和gets()输入的区别*/
while( 1 )
{
if( 2 ) *p=*p+ (‘a’-‘A’);
p++ ;
}
puts ( 3 );
}
答案:
1、*p!=’\0’
2、(*p>='A')&&(*p<='Z')
3、s
运行结果:
输入:Program
输出:program
输入:This is Program
输出:this
提示:
scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。如键入any boy并回车,则
2。补充程序题
输入15个整数存入一维数组,再按逆序重新调整该数组中元素的顺序然后再输出。下面给出部分程序的内容,请将程序补充完整,然后上机调试。
部分程序清单如下:
#include
void main()
{ int a[15],*p1,*p2,x;
for(p1=a;p1
scanf("%d",p1);
for(p1=a,p2=a+14;p1
{ x=*p1;
*p1=*p2;
*p2=x;
C语言教材第七章指针实验
C语⾔教材第七章指针实验
第七章指针
第⼀部分知识训练
【知识要点】
1. 地址与指针
指针变量的概念:⽤⼀个变量专门来存放另⼀个变量的地址。
2. 指向变量的指针变量
指针变量的形式:基类型 *指针变量名;&: 取地址运算符;*:指针运算符。
3. 指针与数组
引⽤⼀个数组元素可以⽤下标法和指针法;可以⽤数组名作函数的参数。
4.指针与函数
函数指针变量定义的⼀般形式为:类型说明符 (*指针变量名)();
⼀个函数的返回值可以是⼀个函数。
【典型习题与解析】
5. char * const p;
char const * p
const char *p
上述三个有什么区别?
【解析】
char * const p; //常量指针,p的值不可以修改;
char const * p;//指向常量的指针,指向的常量值不可以改;
const char *p; //和char const *p。
6. main()
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d,%d",*(a+1),*(ptr-1));
}
输出结果是什么?
【解析】
答案:输出:2,5
*(a+1)就是a[1],*(ptr-1)就是a[4],执⾏结果是2,5。
&a+1不是⾸地址+1,系统会认为加⼀个a数组的偏移,是偏移了⼀个数组的⼤⼩(本例是5个int)。
1)&a是数组指针,其类型为 int (*)[5];⽽指针加1要根据指针类型加上⼀定的
值,不同类型的指针+1之后增加的⼤⼩不同。
2)a是长度为5的int数组指针,所以要加 5*sizeof(int),所以ptr实际是a[5],
C语言实验7(附参考答案)
实验7:程序的输入输出
实验目的:
1、熟悉字符的输入输出和格式化的输入输出,了解基本规则。
2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。
实验内容:
1、若int a,b; scanf(“%d%d”,&a,&b); 不可以用___A____作为输入的分隔符。
A), B)空格 C)回车 D) TAB键
2、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当用户从键盘输入时,正确的数据输入方式是_______。
int a1,a2; char c1,c2;
scanf(“%d%d”,&a1,&a2);
scanf(“%c%c”,&c1,&c2);
A)1020AB<CR> B)10 20<CR>
AB<CR>
C)10 20 AB<CR> D)10 20AB<CR>
3、阅读以下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为_______。
main()
{
int x,y,z;
scanf(“%d%d%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定值
4、根据定义和数据的输入方式,输入语句的正确形式为_______。
已有定义:float f1,f2;
数据的输入方式:4.52
3.5
A)scanf(“%f,%f”,&f1,&f2);
B)scanf(“%f%f”,&f1,&f2);
C语言实验程序、总结实验七指针
C语⾔实验程序、总结实验七指针
实验七指针
⼀实验⽬的 1 了解指针的概念,学会定义和使⽤指针变量。
2 掌握指针、变量和数组的关系及使⽤⽅法。
3 学会使⽤指向函数的指针变量。
⼆实验内容
1 编写函数fun(float *sn,int n),其功能是:根据以下公式计算s ,计算结果通过形参sn 传回;n 通过实参传⼊,n 的值⼤于等于0。上机运⾏并记录输⼊输出(主函数已给出)。
1
217151311+?+-+-=n s fun(float *sn,int n)
{ 定义变量:和s,通项w ,符号f ,循环控制变量i ; /* 其中s 、f 要初始化 */ 循环求累加和s
{ 改变符号; /* 由负变正或由正变负 */
求通项w;
累加:s+=w;
}
形参指针变量sn 赋值; /* 通过形参sn 传回累加和s */
}
main()
{ float s; int n;
printf("n="); scanf("%d ",&n);
fun(&s,n);
printf("s=%f\n ",s);
}
完整程序如下:
#include
void fun(float *sn,int n)
{ float s=0.0,w,f=-1.0;
int i=0;
for (i=0;i<=n;i++);
{ f=(-1)*f;
w=f/(2*i+1);
s+=w;
}
*sn =s;
}
main()
{ float s; int n;
printf("n="); scanf("%d",&n);
fun(&s,n);
printf("s=%f\n",s);
}
输出结果如下图:
C语言程序设计实验实验报告7
C语言程序设计实验实验报告7
实验名称:链表实现学生信息管理系统
实验目的:通过设计链表实现学生信息管理系统,掌握链表的操作方法及其应用。
实验内容:
设计一个学生信息结构体,包括学号、姓名、性别、年龄和成绩五个成员变量,并选择链式结构存储这些数据。
实现以下功能:
1. 添加学生信息:从键盘输入学号、姓名、性别、年龄和成绩等信息,添加到链表中。
2. 删除学生信息:从链表中删除指定学号的学生信息。
5. 按成绩排序:按学生的成绩从高到低排序,并输出所有学生的信息。
7. 退出程序:退出学生信息管理系统。
实验方法:
1. 设计学生信息结构体,定义链表节点结构体,并编写初始化链表和销毁链表的函数。
2. 编写添加学生信息函数,新建链表节点并插入链表末尾。
3. 编写删除学生信息函数,根据学号查找需要删除的节点,先将该节点从链表中删除,再释放节点空间。
4. 编写修改学生信息函数,根据学号查找需要修改的节点,并修改其成员变量。
6. 编写按成绩排序函数,使用冒泡排序法对链表进行排序,并输出所有学生的信息。
7. 编写输出所有学生信息函数,遍历链表并输出每个节点的信息。
8. 完成学生信息管理系统的主函数,实现菜单及相应功能的选择。
实验结果:
依次选择菜单中的各个功能,添加、修改、删除、查找、排序和输出学生信息都能实现。经测试,程序稳定运行,功能正常,符合需求。
本次实验主要让我们掌握了链式结构的概念、链表节点的定义、链表的初始化、插入、查找、删除和销毁链表的操作方法,以及在实际应用中如何使用链表来实现数据管理。虽
然链表操作相对于数组稍微有些繁琐,但其可以灵活处理数据结构的长度变化,具有更高
大学大一c语言程序设计实验室上机题全部代码答案(实验报告)
C语言实验报告
实验1—1:
hello world程序:
源代码:
#include〈stdio.h>
main()
{
printf(”hello world!\n”);
system(”pause");
}
实验1—2:
完成3个数据的输入、求和并输出计算结果的程序:
源代码:
#include<stdio。h〉
main()
{
int i,j,k,sum;
scanf("%d%d%d",&i,&j,&k);
sum=i+j+k;
printf("sum=%d",sum);
system(”pause”);
实验1—3:
在屏幕上输出如下图形:
A
BBB
CCCCC
源代码:
#include<stdio。h〉
main()
{
printf(” A\n”);
printf(" BBB\n”);
printf(” CCCCC\n");
system(”pause");
}
实验2—1:
计算由键盘输入的任何两个双精度数据的平均值
源代码:
#include〈stdio.h〉
main()
{
double a,b;
scanf("%lf%lf”,&a,&b);
printf("%。1lf\n”,(a+b)/2);
system(”pause”);
}
实验2—2:
写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算源代码:
#include<stdio.h〉
main()
{
float a,b,c,d,e,f,g,x;
scanf("%f%f%f%f%f%f%f”,&a,&b,&c,&d,&e,&f,&g);
c语言实验7数组实验报告
实验报告
课程名称程序设计
实验项目名称数组
班级与班级代码14级计算机科学与技术1班实验室名称(或课室) SS1-332
专业计算机科学与技术
任课教师
学号:
姓名:
实验日期:2014年月日
广东商学院教务处制
一.实验目的
1.熟练掌握一维数组、二维数组的定义、赋值、输入、输出方法。
2.熟练掌握字符数组和字符串函数的使用。
3.熟练掌握一位数组以及一位数组元素的存储关系。
4.熟练掌握一位数组和二维数组的使用以及在函数中的传递。
5.通过上机实践掌握与数组有关的算法。
二、实验内容
上机题1输入并运行以下程序。
实验内容:用2个数组对第3个数组进行赋值
#include
main()
{int i,a[5],b[5],c[5];
a[0]=2,a[1]=6,a[2]=4,a[3]=8,a[4]=9;
b[0]=2,b[1]=7,b[2]=9,b[3]=5,b[4]=3;
for(i=0;i<=4;i++)
{c[i]=a[i]*b[i];
printf("c[%d]=%d\n",i,c[i]);
}
}
实验步骤○1int a[5]:整型一维数组说明,a是数组名,也是数组的起始地址,该数组可以存储5个整数。a[0]~a[4]也可以看成是变量标识字符,[]中的数值称为数组下标,下标从0开始。
○2数组赋值方法和一般变量一样。例如,a[0]=2表示将2赋给a[0]。
运行结果
上机题2 输入并运行以下程序。
实验内容:对不指明数组的数组进行赋值并用循环结构进行求和#include
main()
{int sum,i;
int a[]={5,8,4,6,4,3,8,2,4,5,6};
C语言实验报告范例
C语言实验报告范例
实验题目:C语言实现银行家算法
实验目的:掌握C语言实现银行家算法的基本思想,并能熟练应用矩阵处理实现银行
家算法的功能。
实验内容:
1. 利用C语言实现银行家算法的核心思想,利用矩阵处理实现其核心功能模块。
2. 银行家算法是一种负责实现“当前分配”的基于矩阵的编程模型。该算法可以通
过利用安全状态来识别一次可行解,从而解决请求和分配资源的冲突问题。
3. 根据上述信息,我们设计了C语言实现银行家算法的基本框架,包括初始化步骤、可行性检查步骤、回滚步骤以及主步骤。
4. 在初始化步骤中,我们采用矩阵存储技术,将银行家算法中的各个参数保存起来,具体过程中采用数组存储。
5. 在可行性检查步骤中,我们判断当前系统状态是否处于安全状态,如果处于安全
状态,则继续完成下一步余额检查;否则,处理发生冲突时,回滚处理。
6. 在主步骤中,我们过程中判断若系统处于可行状态,则继续分配资源;否则,则
执行回滚操作,将系统恢复到上一状态。
实验结果和结论:
通过实验,我们学会了如何使用C语言来实现银行家算法,进而通过实现矩阵处理,
实现了该算法的核心功能模块。此外,我们还学习了安全状态机制,进行系统可行性检查,和完成系统的分配工作,以达到有效地实现银行家算法的目的。
本次实验结论如下:
1. 通过C语言实现银行家算法中的核心功能模块,使系统的可行性检查得以有效实现;
2. 利用矩阵存储来实现系统的可行性检查,从而有效地节省时间和提高资源分配的
效率;
3. 通过回滚处理,有效地解决资源请求和分配冲突问题,使系统能够有效地实现安
C语言实验册完整答案
实验2答案五.程序改错
#include<stdi o.h>
int main(void)
{
int x=3,y;
y = x*x;
printf("%d = %d * %d\n",y,x,x); /* 输出*/
printf("%d * %d = %d\n",x,x,y);
return 0;
}
六、一般编程题
6.1
#include<stdio.h>
int main(void)
{
int x,y;
printf("Input x: ");
scanf("%d",&x);
printf("Input y: ");
scanf("%d",&y);
printf("%d + %d = %d\n",x,y,x+y);
printf("%d - %d = %d\n",x,y,x-y);
printf("%d * %d = %d\n",x,y,x*y);
printf("%d / %d = %d\n",x,y,x/y);
printf("%d %% %d = %d\n",x,y,x%y);
return 0;
}
6.2
#include<stdio.h>
int main(void)
{ float x; double y;
printf("Input x: ");
scanf("%f",&x);
printf("Input y: ");
scanf("%lf",&y);
printf("%f + %f = %f\n",x,y,x+y);
printf("%f - %f = %f\n",x,y,x-y);
printf("%f * %f = %f\n",x,y,x*y);
C语言上机实验
实验一(第1章实验)
实验目的:
1.掌握运行C语言程序的全过程。
2.熟悉编译环境。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:
1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”
实验结果:
实验二(第3章实验)
1.
实验目的:理解C语言的类型系统。
实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。
实验过程:
实验结果:参见各种类型的存储实现描述。
2.
实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。注意unsigned int和int数据运算时类型转换的方向。
实验过程:
/*
* 类型转换问题
* 试问下面两个表达式等价吗?
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
unsigned int ui,uj;
ui = 1;
uj = 2;
if (ui < uj)
printf("\n%u < %u is true !\n", ui, uj);
else
printf("\n%u < %u is false !\n", ui, uj);
if (ui - uj < 0)
上海理工大学 C语言 实验7答案
C int a[5]={0,1,2,3,4,5}; D int a[]={0,1,2,3,4,5};
2、若有以下语句,则下面正确的描述是___B_______。
char x[]="12345"; char y[]={'1','2','3','4','5'};
5、下面的程序输出结果是______-1____________。
#include <string.h>
main()
{ char language[][10]={"FORTRAN","BASIC","PASCAL","JAVA","C"};
int c;
c=strcmp(language[1],language[3]);
2、若有定义语句:char s[100],d[100]; int j=0, i=0;,且s中已赋字符串,请填空以实现字符串拷贝。(注:不得使用逗号表达式)
while(s[i]){ d[j]=s[i++]; j++;} d[j]='\0';
3、定义char words[10][20];使用printf写出语句:输出words中第一维下标iቤተ መጻሕፍቲ ባይዱ应的字符串。
C语言编程实验
C语言实验习题
7-1 输出图形(10 分)
编写程序输出图形。第一行输出12个$,第二行先输出3个空格,然后再输出hello!,第三行输出12个$
输入样例:
输出样例:
#include
int main()
{
printf("$$$$$$$$$$$$\n"
" hello!\n"
"$$$$$$$$$$$$\n");
return 0 ;
}
7-5 计算华氏温度(5 分)
本题要求编写程序,计算摄氏温度26°C 对应的华氏温度。计算公式:F=9×C/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出
代码:
#include
int main()
{
int f;
int c;
c=26;
f=9*c/5+32;
printf("celsius = 26, fahr = %d",f);
return 0 ;
}
7-9 逆序的三位数(10 分)
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
输出样例:
代码:
#include
int main()
{
int n,a,b,c;
scanf("%d",&n);
a=n/100;
b=n/10-a*10;
c=n-a*100-b*10;
int d;
d=a+b*10+c*100;
printf("%d",d);
return 0 ;
}
7-10 整数四则运算(10 分)
C语言实验报告9篇
C语言实验报告
C语言实验报告9篇
随着个人素质的提升,报告的适用范围越来越广泛,我们在写报告的时候要注意语言要准确、简洁。写起报告来就毫无头绪?以下是小编为大家整理的C语言实验报告,仅供参考,欢迎大家阅读。
C语言实验报告1
一、实习目的
1.掌握在集成环境中编辑、编译、连接和运行C程序的方法。
(1)运行TC
(2)启动TC集成环境,输入一个源程序,编译并运行。
2.掌握单步执行、设置/去除断点,观察变量或表达式的值。
(3)在该程序中按CTRL+F7单步招待并在观察窗口中查看变量和表达式的值。
(4)设置/去除断点,继续调试。
1、熟练掌握if.switch分支语句的使用。
2、熟练掌握for.while.do.while循环语句的使用。
3、熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。
4、熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。
熟练掌握结构体和指针的综合应用链表的操作
二、实习地点
北京交通干部管理学院计算机系机房十三号.
三、实习成果
熟练掌握TC集成环境的使用方法。认真编写实习报告和实习总结,描述实习操作和心得体会,总结在这次实习中的业务收获,作出自我评价。熟练掌握并应用TC程序设计的各个知识点。掌握结构体和指针的联合使用,学会链表的构造和常用操作方法,认真编写实习日志和实习体会。并通过各种途径查找所需资料,拓宽视野,培养自学能力。
四、实习心得
在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。老师安排我们有具有的分工:
c语言实验报告结论
c语言实验报告结论
在本次C语言实验中,我们完成了多个程序的设计和开发,包括计算字符串中元音字母和辅音字母的个数,求解一个数的平方根,以及设计一个简单的计算器。
同时,本次实验也让我们意识到了程序设计的重要性,程序需要清晰的逻辑思维和良好的代码风格,才能实现高效、可靠的功能。在实验中,我们不断优化程序设计,从算法和代码结构等方面提高了程序的可读性和可维护性。
在实验中出现的一些问题,如溢出和类型转换错误,也提醒我们在编程过程中要注意数据类型的选择和边界情况的处理,以确保程序的正确性和稳定性。
综上所述,通过本次C语言实验的学习和实践,我们深刻认识到了C语言的重要性和广泛性,也提高了自己的编程能力和实战经验。在今后的学习和工作中,我们将不断加强自己的编程素养,熟练掌握C语言的应用,为未来的发展打下坚实的基础。
《C语言程序设计》(江宝钏著)实验七答案
7、4 实验七字符与字符串处理
一、实验目得与要求
1.掌握C语言字符型数据得概念,理解字符型与整型数据之间得关系。
2.掌握字符得输入与输出.
3.掌握转义字符常量、字符串常量得使用.
4.掌握字符、字符串与字符数组得输入与输出。
5.掌握字符串函数得使用\字符串数组得使用。
6.实验课时2学时
二、实验内容
1.程序改错题
①调试下列程序,使之具有如下功能:任意输入两个字符串(如:"ningbo"与”china”),并
存放在a,b两个数组中。然后把较短得字符串放在a数组,较长得字符串放在b数组。
并输出.程序中得strlen就是库函数,功能就是求字符串得长度,它得原型保存在头文件"string、h"中.调试时注意库函数得调用方法,不同得字符串输入方法,通过错误提示发现程序中得错误。
提示发现程序中得错误。
#include <stdio、h>
#include<string、h>
void main()
{
char a[10],b[10],ch;
int c,d,k;
scanf("%s",&a);
scanf("%s",&b);/*error*/
printf(”a=%s,b=%s\n”,a,b);
c=strlen(a);d=strlen(b);
if(c>d)
{
for(k=0;k<d;k++)/*error*/
{
ch=a[k];a[k]=b[k];b[k]=ch;
}
a[k]=’\0'; /* error*/
}
printf(”a=%s\n",a);
printf(”b=%s\n",b);
}
答:
#include〈stdio、h>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序 逆置并输出。(例如输入abcdef,输出fedcba)。请编写相应的程序代 码,并调试运行出正确结果。 程序代码: #include <stdio.h> void main() { char a[20]; char *p=a; gets(a); while(*p)p++; while(*(--p)){printf("%c",*p);}
for(i=0;i<n;i++) printf("%5d",*(a+i)); printf("\n\n"); fun(a,n,&odd,&even); printf("The sum of odd numbers:%d\n",odd); printf("The sum of even number:%d\n",even); } 运行结果:
}
三、问题讨论
简述字符串数组和字符指针的区别,举例说明。 字符串数组它里面存放的是数据,数组名为数据在内存中的起始地 址. 字符串指针它不存放数据,这个指针只是指向该字符串在内存中的起 始地址. #include<stdio.h> #include<string.h> void main() { char name[20]="my friend"; char *p="my gole"; printf("数组名为首地址可以打印出数组:\n"); printf("%s\n",name); printf("字符串指针也是指向字符串的地址也可以输出字符串:\n"); printf("%s\n",p); }
C语言程序设计实验报告 实验七 使用指针的程序设计 班级 姓名 2010178 黄喆 学号 15
一、实验目的 (1)掌握指针的概念,会定义和使用指针变量; (2)能正确使用数组的指针和指向数组的指针变量; (3)熟悉指针做函数参数的使用方法; (4)能正确使用字符串的指针和指向字符串的指针变量。 二、实验内容及步骤 1、按要求完善程序 下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之 和。形参n给了数组中数据的个数,利用指针odd返回奇数之和,利用指 针even返回偶数之和。例如:数组中的值依次为:1,9,2,3,11, 6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8。请 在下面空白处将实现这一功能的函数完善,并且调试运行出结果。 程序代码如下所示: #include <stdio.h> #define N 20 void fun(int *a,int n,int *odd,int *even) { int i=0; *odd=*even=0; for(;i<n;i++) { if(*(a+i)%2==0)(*even)+=a[i]; else *odd+=a[i]; } }void main() { int a[N]={1,9,2,3,11,6},i,n=6,odd,even; printf("The original data iBaidu Nhomakorabea:\n");
} void main() { int score[max]={0}; char name[max][20]; int stunum,i; printf("输入班级人数:\n"); scanf("%d",&stunum); printf("输入%d人的学号和成绩:\n",stunum); for(i=0;i<stunum;i++) { scanf("%s",name[i]); scanf("%d",&score[i]); } SearchHigh(score,name,stunum); }
2、 编写程序 (1)假设每班人数最多不超过40人,具体人数由键盘输入,试编程 打印最高分及其学号。 要求:用一维数组和指针变量作函数参数,编程打印某班一门课成绩的 最高分和学号。请编写相应的程序代码,并调试运行出正确结果。 程序代码: #include <stdio.h> #define max 40 void SearchHigh(int *score,char p[][20],int n) { int i=0; int maxscorenum=0; for(;i<n-1;i++) { if(score[i]<score[i+1])maxscorenum=i+1; } if(score[maxscorenum]<score[n-1])maxscorenum=n-1; printf("成绩最高的人的学号是%s和成绩 是%d\n",p[maxscorenum],score[maxscorenum]);