• PTA刷题笔记(C语言) | 7-30 念数字 (15分)


    开始刷题,感觉代码量和基础太渣了,导致数据结构不会,重头慢慢刷吧~
    在这里插入图片描述


    1、题目

    在这里插入图片描述
    输入样例:

    -600

    输出样例:

    fu liu ling ling


    2、代码

    #include<stdio.h>
    int main(){
        int num;
        scanf("%d",&num);
        if(num<0){
        	printf("fu ");
        	num=-num;
    	}
    	if(num==0){
    		printf("ling");
    	}
        int a[11];
        a[1]=num%10;
        int N=num,cnt=1;
    	while(N){
    		N=N/10;
    		a[++cnt]=N%10;
    	}
    	int flag=0;
    	int i;
    	for(i=cnt-1;i>0;i--){
    		if(!flag)
    			flag=1;
    		else
    			printf(" ");
    	    switch(a[i]){
    	        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;
    	    }
    	}
        return 0;
    }
    

    在这里插入图片描述

    3、讨论

    我使用的方法是倒叙存储在一个数组里,负号先输出,零的情况单独讨论,这样就比较容易出结果了~

    妙啊!!!
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    fort循环
    while
    函数和数组
    case
    init进程
    权限安全:堡垒机部署实践
    tcp首部当中seq和ack的增长规律
    VRRP
    MSTP
    字符集专题
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302583.html
Copyright © 2020-2023  润新知