版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/quicmous/article/details/83904228
三位数反转
例题 三位数反转:输入一个三位数, 分离出它的百位、 十位和个位,反转后输出。
样例输入: 127
样例输出: 721
【分析】 首先将三位数读入变量 n, 然后进行分离。 百位等于 n/ 100( 注意这里取的是商 的整数部分),十位等于 n/10% 10(这里的%是取余数操作),个位等于 n%10。程序如下:程序1-6三位数反转
C 语言代码如下:
#include <stdio.h>
int main() {
int n;
scanf("% d", &n);
printf("% d% d% d\ n", n% 10, n/ 10% 10, n/ 100);
return 0;
}
Haskell 代码如下:
main = do
s <- getLine
let n = read s :: Int
return ((mod n 10) * 100 + mod (div n 10) 10 * 10 + div n 100)
哈哈,Haskell 代码终于比 C 语言看起来舒服一些了。
交换变量
例题 交换变量: 输入两个整数 a 和 b, 交换 二者 的 值, 然后 输出。
样例输入: 824 16
样例输出: 16 824
【分析】 按照题目所说, 先把输入存入变量 a 和 b, 然后交换。 如何交换两个变量 呢? 最 经典的方法是三变量法:
C 语言代码:
#include <stdio.h>
int main() {
int a, b, t;
scanf("% d% d", &a, &b);
t = a;
a = b;
b = t;
printf("% d %d\ n", a, b);
return 0;
}
Haskell 代码:
main = do
a <- getLine
b <- getLine
let t = a
let a = b
let b = t
return (a, b)
我觉得 Haskell 语言代码越来越漂亮了!