13.10 编写出一个宏定义 MYALPHA(C) ,用以判断 C 是否是字母字符,若是得 1 ,否则得 0 。

 

※程序如下※

 

#include<stdio.h>

#include<ctype.h>

#define MYALPHA(C) isalpha(C)?1:0

main()

{

char ch;

clrscr();

ch=getchar();

if(MYALPHA(ch))

printf("%c is a alpha",ch);

else

printf("%c is not a alpha",ch);

}

——————————————————————————————————————

13.11 请写出一个宏定义 swap(t,x,y) 用以交换 t 类型的两个参数。提示:用复合语句的

形式。

※程序如下※

 

#include<stdio.h>

#define swap(t,x,y) {t=x;x=y;y=t;}

 

main()

{

int a,b,t;

clrscr();

printf("Enter a and b:\n");

scanf("%d%d",&a,&b);

swap(t,a,b);

printf("a=%d\nb=%d",a,b);

}

——————————————————————————————————————

13.12 请编写程序,利用 malloc 函数开辟动态存储单元,存放输入的三个整数。然后按

从小到大的顺序输出这三个数。

 

※程序如下※

 

#include <stdio.h>

#include <stdlib.h>

 

void main()

{

int *pData = (int*)malloc(sizeof(int)*3);

int t;

 

printf("Please input three integral number\n");

scanf("%d%d%d",pData,pData+1,pData+2);

 

for (int i=0; i<2; i++)

for (int j=i+1; j<3; j++)

if (*(pData+i) > *(pData+j))

{

t = *(pData+j);

*(pData+j) = *(pData+i);

*(pData+i) = t;

}

 

printf("%d\t%d\t%d\n",*pData,*(pData+1),*(pData+2));

}