C语言上机实验 答案(5)

2019-07-27 10:17

for(i=0;i

printf(“%d ”,*(a+i)); /*按指针输出第一组数*/ printf(“\\n”); for(i=0;i

printf(“%d ”,q[i]); /*按数组输出第二组数*/

printf(“The memory address of p,a,q are:%x,%x,%x\\n”,p,a,q); free(q); }

2、#include

void swap(int *p1,int *p2) { int p;

p=*p1; *p1=*p2; *p2=p; }

void main( )

{ int n1,n2,n3; int *p1,*p2,*p3;

printf(“Please input three integer datas:”); scanf(“%d%d%d”,&n1,&n2,&n3); p1=&n1; p2=&n2; p3=&n3; if(n1

printf(“%d %d %d\\n”,n1,n2,n3); }

3、#include

void swap1(int x,int y); void swap2(int *x,int *y); void main( ) { int a,b;

printf(“Please input a=:”); scanf(“%d”,&a);

printf(“Please input b=:”); scanf(“%d”,&b); swap1(a,b);

printf(“\\nAfter call swap1:a=%d b=%d\\n”,a,b); swap2(&a,&b);

printf(“\\nAfter call swap2:a=%d b=%d\\n”,a,b); }

void swap1(int x,int y) { int temp;

temp=x; x=y; y=temp; }

void swap2(int *x,int *y) { int temp;

temp=*x; *x=*y; *y=temp; }

4、#include

int strlength(char *s); void main( )

{ int n1,n2;

char *list1=“See no evil,hear no evil.”; char *list2=“blind and deaf?”; n1=strlength(list1); n2=strlength(list2); puts(list1);

printf(“The length of list1=%d\\n”,n1); puts(list2);

printf(“The length of list2=%d\\n”,n2); } int strlength(char *s) { int n=0;

while(*s!=‘\\0’) { n++;

s++; }

return n; }

实验九 综合实验2:函数、数组、指针的综合应用(2学时)

一、实验方式:一人一机 二、实验目的:

1、进一步掌握通过指针引用数组元素的方法。

2、综合运用函数、数组、指针的知识,实现复杂程序的编程。 3、掌握调试复杂程序的技巧。 三、实验内容:

说明:前两题为必做题目,后两题为选做题目。要求用指针方法实现。

1、数组元素奇偶排列。实验要求:1)定义一个整型一维数组,任意输入数组的元素,其中包含奇数和偶数。2)定义一个函数,实现将数组元素奇数排列在左,偶数排列在右的排列。3)在上述定义的函数中,不允许再增加新的数组。4)从主函数中分别调用上述函数,打印输出结果。(实验指导书P172)

2、编写函数lower( )模拟标准函数strlwr( ),调用形式为lower(char *st),其作用是将字符串st中的大写字母转换成小写。(书P192) 3、编写函数,比较两个字符串是否相等。(书P234)

4、编写函数reverse( )模拟标准函数strrev( ),调用形式为reverse(char *st),其作用是颠倒字符串st的顺序,即按与原来相反的顺序排列。(书P192)

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include #define N 10

void arrsort(int a[ ],int n); void main() { int a[N],i;

for(i=0;i

scanf(“%d”,&a[i]); arrsort(a,N); for(i=0;i

printf(“%d ”,a[i]); }

void arrsort(int a[ ],int n) { int *p,*q,temp; p=a;

q=a+n-1; while(p

{ while(*p%2) p++; while(!(*q%2)) q--; if(p

{ temp=*p; *p=*q; *q=temp; } p++,q--;

} }

2、#include

#define N 20

void lower(char *st) { int i=0;

while(st[i]!=‘\\0’)

{ if(st[i]>=‘A’&&st[i]<=‘Z’) st[i]+=32; i++;

} }

void main( ) { char s[N];

printf(“Input a string:\\n”); scanf(“%s”,s); lower(s);

printf(“Output:%s\\n”,s); }

3、#include #include

int compare(char *p,char *q) { int i,l=strlen(p);

if(strlen(p)!=strlen(q)) return 0; for(i=0;i

if(p[i]!=q[i]) return 0; return 1; }

void main( )

{ char str1[80],str2[80];

printf(“Input first string:”);

scanf(“%s”,str1);

printf(“Input second string:”); scanf(“%s”,str2); if(compare(str1,str2))

printf(“Two strings equation!\\n”); else

printf(“Two strings no equation!\\n”); }

4、#include

#include

void reverse(char *st) { int i=0,n; char t;

n=strlen(st); for(;i

{ t=st[i]; st[i]=st[n-i-1]; st[n-i-1]=t; } }

void main( ) { char s[80];

printf(“Input a string:\\n”); scanf(“%s”,s); reverse(s);

printf(“Output:%s\\n”,s); }

实验十 综合实验3:结构体、文件程序设计(6学时)

一、实验方式:一人一机 二、实验目的:

1、掌握结构体类型变量的定义和使用。

2、掌握结构体类型数组的概念和使用。

3、学会使用文件打开、关闭、读、写等文件操作的函数。 三、实验内容:

说明:前三题为必做题目,后一题为选做题目。

1、在选举中进行投票,包含候选人姓名、得票数,假设有多位候选人,用结构体数组统计各候选人的得票数。(实验指导书P180) 2、编写一个学生信息排序程序。要求:

1) 程序运行时可输入n个学生的信息和成绩(n预先定义)。

2) 学生信息包括:学号、姓名;学生成绩包括:高等数学、物理、计算机。

3) 给出一个排序选择列表,能够按照上述所列信息(学号、姓名、高等数学、物理、计算机)中的至少一个字段进行排序,并显示其结果。 4) 使用函数方法定义各个模块。

3、将磁盘上一个文本文件的内容复制到另一个文件中。(实验指导书P199)

4、从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,输出到一个磁盘文件“test.dat”中保存,然后读出并输出在屏幕上。(实验指导书P204)

四、实验步骤与过程:


C语言上机实验 答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:上海市14校2017届联考高三英语试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: