C函数之数字分离 带参数宏定义练习 宏定义的练习

 1.写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1 9 9 0"。

样例输入:

1990

样例输出:

1 9 9 0

解答:

#include
#include
int ret(int n, int m) {
	printf("%d ", n / (int)pow(10, m));
	return n = n % (int)pow(10, m);
}
int main()
{
	int n;
	scanf_s("%d", &n);
	for (int i = 3; i >=0; i--) {
		n=ret(n, i);
	}
	return 0;
}

 注解:

n=ret(n, i);

 

 2.定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

样例输入:

1 2

样例输出:

2 1

解答:

#include
#define change(a,b) t=a,a=b,b=t
int main() {
	int a, b,t;
	scanf_s("%d %d", &a, &b);
	change(a, b);
	printf("%d %d", a, b);
	return 0;
}

注解: 

 change(a,b)不需要定义,t需要定义

 

3. 输入两个整数,求他们相除的余数。用带参的宏来实现,编程序。

样例输入:

3 2

 样例输出:

1

解答:

#include
#define c a%b
int main() {
	int a, b;
	scanf_s("%d %d",&a,&b);
	printf("%d",c);
	return 0;
}

你可能感兴趣的:(c语言,算法,数据结构)