VC语言编程作业实验09指针
实验九 指针(一)
实验名称指针(一)成绩姓 名李浩学号20班级电气15-3实验地点完成日期实验目的通过实验进一步掌握指针的概念,会定义和使用指针变量;
能正确使用数组的指针和指向数组的指针变量;
能正确使用字符串的指针和指向字符串的指针变量。
实
验
内
容
与
步
骤
实
验
内
容
与
步
骤
实
验
内
容
与
步
骤编程序并上机调试运行程序(都要求用指针处理)。
(1).??? 输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。
#include
main(){
int a,b,c,*min=&a,*mid=&b,*max=&c,*p;
printf("输入3整数: ");
scanf("%d %d %d",&a,&b,&c);
if(*min>*mid){p=min;min=mid;mid=p;}
if(*min>*max){p=min;min=max;max=p;}
if(*mid>*max){p=mid;mid=max;max=p;}
printf("从小到大: %d %d %d\n",*min,a+b+c-*max-*min,*max);
}
#include
#include
#define n 20
main(){
char stra[n],strb[n],strc[n],*min=stra,*mid=strb,*max=strc,*p;
printf("输入3段: ");
gets(stra);gets(strb);gets(strc);
if(strcmp(min,mid)>0){p=min;min=mid;mid=p;}
if(strcmp(min,max)>0){p=min;min=max;max=p;}
if(strcmp(mid,max)>0){p=mid;mid=max;max=p;}
printf("从小到大: %s %s %s\n",min,mid,max);
}
(2).? 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
#include
#define n 10
main(){
int a[n],i,x,*min=&a[0],*max=&a[n-1];
printf("输入10整数:\n");
for(i=0;i
for(i=0;i
if(a[i]
if(a[i]>*max){max=&a[i];}//找出最小值的地址
}
x=a[0];a[0]=*min;*min=x;//最小值与首位对换
x=a[n-1];a[n-1]=*max;*max=x;//最大值与首位对换
for(i=0;i
printf("\n");
}
(3).??有10个运动员,比赛得分需要比赛后输入,编确定获得金程银铜牌的得主。
#include
#define n 10
main(){
int a[n],i,x,*max=&a[0];
printf("依次输入1号—10号选手得分:\n选手: 一 二 三 四 五 六 七 八 九 十\n得分: "); //提示输入
for(i=0;i
for(i=1;i
if(a[i]>*max){max=&a[i];}//找出最大值的地址
}
printf("\n金牌得主是第%d号选手!",max-a+1);//输出金牌得主
printf("\n");
}
(4).???将一个3X3的矩阵转置,用一函数实现之。在主函数中用scanf函数输入以下矩阵元素:
1 3 5
7 9 11
13 15 19
将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。
#include
#define H 3