C程序,用于在不使用if或switch的情况下将单个数字打印为单词。
将给定的数值打印为单词。使用从0到9的用例进行切换很容易,但是挑战是不使用它们。
输入 -N=900
输出-零归零
通过创建包含0-9个单词的指针数组是可能的。
算法
START
Step 1 -> declare int variables num, i and array of pointer char *alpha with values {"ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"}
Step 2 -> declare char array str[20]
Step 3 -> call function itoa with parameters num,str,10
Step 4 -> Loop For i=0 and str[i]!=’\o’ and i++
Print alpha[str[i] - '0']
Step 5 -> End Loop
STOP示例
#include<stdio.h>
#include<stdlib.h>
int main() {
int num, i;
num=900; //lets take numeric value
char *alpha[11] = {"ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"};
char str[20];
itoa(num, str, 10); //this function will convert integer to alphabet
for(i=0; str[i] != '\0'; i++)
printf("%s ", alpha[str[i] - '0']);
return 0;
}输出结果
如果我们运行上面的程序,那么它将生成以下输出
Enter an integer 900 NINE ZERO ZERO