厦大C语言上机 1489 变与不变
2018-01-14 11:26
253 查看
1489.变与不变
时间限制: 1000 MS 内存限制: 65536 K
提交数: 494 (0 users) 通过数: 285 (277 users)
问题描述
编写下列函数
void change(int *a,int *b,int flag);
根据flag的值对a、b进行处理。当flag为正数时,对a、b指向的变量求绝对值; 当flag为0时, a、b指向变量值不变; 当flag为负数时,交换a、b指向的变量的值。
输入格式
第一行为数据的组数n
第二行为三个整数,分别为a b flag
输出格式
输出a、b指向变量的值,用一个空格隔开
样例输入
3
-1 2 3
-1 2 -3
-1 2 0
样例输出
1 2
2 -1
-1 2
来源
xmu
时间限制: 1000 MS 内存限制: 65536 K
提交数: 494 (0 users) 通过数: 285 (277 users)
问题描述
编写下列函数
void change(int *a,int *b,int flag);
根据flag的值对a、b进行处理。当flag为正数时,对a、b指向的变量求绝对值; 当flag为0时, a、b指向变量值不变; 当flag为负数时,交换a、b指向的变量的值。
输入格式
第一行为数据的组数n
第二行为三个整数,分别为a b flag
输出格式
输出a、b指向变量的值,用一个空格隔开
样例输入
3
-1 2 3
-1 2 -3
-1 2 0
样例输出
1 2
2 -1
-1 2
来源
xmu
#include <stdio.h> void change(int *a, int *b, int flag) { if (flag > 0) { *a = *a > 0 ? *a : -*a; *b = *b > 0 ? *b : -*b; } else if (flag < 0) { int temp = *a; *a = *b; *b = temp; } } int main() { int n, a, b, flag; scanf("%d", &n); while (n--) { scanf("%d %d %d", &a, &b, &flag); change(&a, &b, flag); printf("%d %d\n", a, b); } return 0; }
相关文章推荐
- 厦大C语言上机 1391 简单的几何问题
- 厦大C语言上机 1387 进制转换进阶版
- 厦大C语言上机 1486 第K高的人
- 厦大C语言上机 1392 数组的平衡
- 厦大C语言上机 1388 高精度乘法
- 厦大C语言上机 1393 哥德巴赫猜想的验证
- 厦大C语言上机 1487 单词个数统计
- 厦大C语言上机 1394 抛硬币
- 厦大C语言上机 1488 判断素数
- 厦大C语言上机 1395 组合
- 厦大C语言上机 1490 高级模式匹配
- 厦大C语言上机 1400 出队统计
- 厦大C语言上机 1491 子串删除
- 厦大C语言上机 1364 找闰年
- 厦大C语言上机 1492 破译时间密码
- 厦大C语言上机 1265 字符串后继
- 厦大C语言上机 1365 小明的自娱自乐
- 厦大C语言上机 1493 数据查找
- 厦大C语言上机 1355 开学第一考
- 厦大C语言上机 1366 Simple a + b