发布时间 : 星期四 文章青岛科技大学大学老师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 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 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”); }