A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© brenthe 中级黑马   /  2016-5-12 22:44  /  1162 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.输入3个整数,按由小到大的顺序输出。要求用指针完成。
#include <stdio.h>
void main()
    {
          int *p1,*p2,*p,a,b;
      scanf("%d,%d",&a,&b);
      p1=&a;   
          p2=&b;
       if(a<b)
          {p=p1;p1=p2;p2=p;}
          //{p1=&b;p2=&a;}      
      printf("a=%d,b=%d\n",a,b);
      printf("max=%d,min=%d\n",*p1,*p2);             
}
2.有一个整型数组a,有10个元素,输出数组中的全部元素。要求用指针法完成。
#include <stdio.h>
void  main()
{
        int *p,i,a[10];
     p=a;

  for(i=0;i<10;i++)
scanf("%d",p++);
  for(i=0;i<10;i++,p++)
         printf("%d ",*p);
  printf("\n");
}
3.用指针方法统计10个数中正数、负数和零的个数,并分别求正数的总和,负数的总和。
#include <stdio.h>
void main()
{
int a[10];
int i,*p,sum1,sum2,c1,c2,c3;
printf("输入10个整数:");
for(i=0;i<10;i++)   
scanf("%d",&a[i]);
c1=c2=c3=0;
sum1=sum2=0;
for(p=a;p<(a+10);p++)
{  
    if(*p<0)
      { sum1+=*p;
         c1++;}  
    if(*p==0)
      { c2++;}   
    if(*p>0)
      {sum2+=*p;
       c3++;}  
}  
printf("正数,负数的和:%d %d\n",sum2,sum1);
printf("正数、零、负数的个数:%d %d %d \n",c3,c2,c1);
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马