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、討論

我使用的方法是倒敘存儲在一個數組裏,負號先輸出,零的情況單獨討論,這樣就比較容易出結果了~

妙啊!!!
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章