码迷,mamicode.com
首页 > 其他好文 > 详细

1.3 顺序结构程序设计

时间:2015-07-01 23:30:31      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

例题 1-2  三位数反转

  输入一个三位数,分离出它的百位,十位和个位数,反转后输出。

    样例输入:

    127

    样例输出:

    721

程序 1-6 三位数反转(1)

1 #include<stdio.h>
2 int main()
3 {
4     int n;
5     scanf("%d", &n);
6     printf("%d%d%d",n % 10, n % 100 / 10, n/100);
7     
8     return 0;
9 }


当输入的是普通三位数字,可以达到目的。

但是当输入的是以0结尾的数时,反转后是否要舍去0。题目并没讲清楚。如果要输出诸如052之类则需要把做如下修改:

程序 1-7 三位数反转(2)

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n;
 5     scanf("%d", &n);
 6     int m;   //新增
 7     m = (n % 10) * 100 + (n / 10) % 10 * 10 + (n / 100);//修改
 8     printf("%03d", m);
 9 
10     return 0;
11 }

这里要注意第8行, 3 表示不足三位的以三位数输出,前面留空,而 03 则表示不足三位的以三位数输出前面以0填充。虽说容易理解,但是是一个不错的技巧。


例题 1-3 交换变量

输入两个整数 a和b,交换二者的值,然后输出。

样例输入:

824 16

样例输出:

16 824

程序 1-8 交换变量(1)

#include<stdio.h>
int main()
{
    int a ,b;
    scanf("%d%d", &a, &b);
    int temp;
    temp = a;
    a = b;
    b = temp;
    printf("%d %d", a, b);
}

第一种方法最容易想到,引入第三方变量,暂时储存其中一个值。可以类比于白醋和酱油借助第三个空瓶子互换。但也有一些差异,当酱油被倒入空瓶子中后,原来的酱油瓶就空了。在计算机语言中,赋值 a = b后, a的值发生改变,但b的值并不会发生改变。
第二种方法不借助第三变量:

程序 1-9 变量交换(2)

#include<stdio.h>
int main()
{
    int a ,b;
    scanf("%d%d", &a, &b);
    a = a + b;
    b = a - b;
    a = a - b;
    printf("%d %d", a, b);
}

一步一步下来能够理解,但还是没第一个好。实际中推荐使用第一种方法。。

程序 1-10 变量交换(3)

1 #include<stdio.h>
2 int main()
3 {
4     int a ,b;
5     scanf("%d%d", &a, &b);
6     printf("%d %d", b, a);
7 }

第三种方法比较讨巧,用不用看具体情况。

 

 

 

 

 

  

1.3 顺序结构程序设计

标签:

原文地址:http://www.cnblogs.com/Traim304/p/4614804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!