青岛科技大学大学老师C语言上机实验答案 联系客服

发布时间 : 星期四 文章青岛科技大学大学老师C语言上机实验答案更新完毕开始阅读bdf27c8b680203d8ce2f241d

printf(“Result:\\n”);

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(“After swap:”);

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

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(str[i]!=‘\\0’)

{ if(str[i]>=‘A’&&str[i]<=‘Z’) str[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”);

}