实验6指针

  • 格式:doc
  • 大小:97.50 KB
  • 文档页数:2

1.分析下面的程序并上机运行程序,要求写
出3组以上程序的运行结果。

#include <stdio.h>
void main()
{
int *p1,*p2,*p;
int a,b;
printf("Input a b please");
scanf("%d%d",&a,&b);
p1=&a;
p2=&b;
if(a>b)
{ p=p1;p1=p2;p2=p;}
printf("*p1=%d, *p2=%d\n",*p1,*p2);
printf("a=%d, b=%d\n",a,b);
}
『运行结果:』
2.下列程序的功能是分别求出数组中所有
奇数之和以及所有偶数之和。

形参n给了
数组中数据的个数,利用指针odd返回奇
数之和,利用指针even返回偶数之和。

请在下面空白处将实现这一功能的函数
完善,并且调试运行出结果。

#include <stdio.h>
#define N 10
void fun(int *a,int n,int *odd,int *even)
{ int i;
*odd=0;
*even=0;
for(i=0;i<n;i++)
{if(*(a+i)%2)
*odd=*odd+*(a+i);
e lse
*even+=*(a+i);
}
}
void main()
{
int
a[N]={1,10,2,3,19,6},i,n=6,odd,even;
printf("The original data is:\n");
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);
}
『运行结果:』
3.编程实现从键盘输入一个字符ch和一个
字符串str,利用字符指针实现删除字符
串str中和字符ch相等所有字符,然后
输出字符串str。

运行程序并写出2组以上程序运行结果。

程序代码:
#include "stdio.h"
#include "conio.h"
#include "string.h"
void prochar(char *str,char ch)
{
char*p;
for(p=str;*p!='\0';p++)
if(*p!=ch)
*str++=*p;
*str='\0';
}
void main()
{
char str[80],char_ch;
printf("请输入一个字符串:");
gets(str);
printf("请输入一个字符:");
scanf("%*c%c",&char_ch);
prochar(str,char_ch);
puts(str);
getch();
}
『运行结果:』。