C语言程序设计学习日志(一)

来源:互联网 发布:淘宝图片像素要求 编辑:程序博客网 时间:2024/06/06 08:25

程序设计也是我感兴趣的一件事情,今天开始写博客,其中的内容是一些稍微有点意思的练习题目(都是简单的那种)和一些知识点的理解,更多的是为了整理思路和记录知识。


题目内容:

逆序的三位数:程序每次读入一个正三位数,然后输出逆序的数字。

注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

提示:用%10可以得到个位数,用/100可以得到百位数…。将这样得到的三个数字合起来:百位*100+十位*10+个位,就得到了结果。

注意:除了题目要求的输出,不能输出任何其他内容,比如输入时的提示,输出时的说明等等都不能。这道题目要求输出逆序的数字,程序就只能输出这个数字,除此之外任何内容都不能输出。

输入格式:
每个测试是一个3位的正整数。
如:123

输出样例:
321

分析:

用%10可以得到个位数,用/100可以得到百位数,除以10再%10就得到了其十位数,小结:(所以也就两种情况,直接用除获得最高位,或者用求余得其最低位,其他位皆是转换成这两种情况再对应操作的)。将这样得到的三个数字合起来:百位*100+十位*10+个位,就得到了结果。

代码如下:

#include<stdio.h>int main(){int a,bai,shi,ge;scanf("%d",&a);bai=a/100;shi=a/10%10;ge=a%10;a=ge*100+shi*10+bai;printf("%d",a);return 0;}

而下面这道题就是在第一道题目上的一个拓展延伸:

题目内容:

你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
如输入1234,则输出:yi er san si
注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,
如-2341输出为:fu er san si yi

输入格式:
一个整数,范围是[-100000,100000]。

输出格式:
表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

输入样例:
-30

输出样例:
fu san ling

分析:先用计数器定位输入的数是多少位,开始循环:打印出最高位,接着拆掉最高位,同时计数器跟着少一位以此对应拆完之后的新数值,继续打印新的最高位以及拆掉新的最高位……这样一直循环操作直到最后一位打印出来。

  • 判断操作结束是根据计数器的值,这就保证了从一而终。
  • 默认每一位都打印空格,当计数器对应到最后一位的时候才不打印空格。

代码如下:

#include<stdio.h>int main() {    int x, t,j=1;    scanf_s("%d", &x);//输入变量    if (x < 0) {//若为负数,则打印fu ,并且转换成其绝对值再来处理        printf("fu ");        x*=-1;    }        t = x;//t是用来拆分打印        while (t > 9) {//定位x的位数            t = t / 10;            j *= 10;        }        //定位完毕,开始拆分、打印的循环操作        while (j > 0) {//拆最高位,每拆一次就打印一次            t = x / j;        switch (t) {        case 0:printf("ling");break;        case 1:printf("yi");break;        case 2:printf("er");break;        case 3:printf("san");break;        case 4:printf("si");break;        case 5:printf("wu");break;        case 6:printf("liu");break;        case 7:printf("qi");break;        case 8:printf("ba");break;        case 9:printf("jiu");break;        }        if(j>1)//若不为最后一位数就打印一次空格        printf(" ");        //拆掉最高位        x = x%j;        j /= 10;//每拆去一个最高位就缩小10倍对应新的最高位    }    return 0;}
原创粉丝点击