13.10 请写出一个宏定义MYALPHA(c),用以判断c是否是字母字符。若是得1,否则得0。
#include<stdio.h>
#define MYALPHA(c) ((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
main()
{ char c;
c=getchar();
if(MYALPHA(c)==1)printf("1");
else printf("0");
}
13.11 请写出一个宏定义SWAP(t,x,y)用以交换t类型的两个参数。提示:用复合语句的形式。
#include<stdio.h>
#define SWAP(t,x,y) {t=x;x=y;y=t;}
main()
{ float t,x,y;
printf("请输入x:");scanf("%f",&x);
printf("请输入y:");scanf("%f",&y);
printf("置换前:x=%f,y=%f\n",x,y);
SWAP(t,x,y);
printf("置换后:x=%f,y=%f\n",x,y);
}
13.12 请编写程序,利用malloc函数开辟动态存储单元,存放输入的三个整数,然后按从小到大的顺序输出这三个数。
#include<stdio.h>
#include<stdlib.h>
main()
{ int *p1,*p2,*p3,s;
p1=(int *)malloc(sizeof(int));
p2=(int *)malloc(sizeof(int));
p3=(int *)malloc(sizeof(int));
printf("请输入三个整数:");scanf("%d %d %d",p1,p2,p3);
if(*p1>*p2){s=*p1;*p1=*p2;*p2=s;};
if(*p1>*p3){s=*p1;*p1=*p3;*p3=s;};
if(*p2>*p3){s=*p2;*p2=*p3;*p3=s;};
printf("%d %d %d",*p1,*p2,*p3);
}
|