nine的序数词 nine的序数词是什么

nine的序数词 nine的序数词是什么,第1张

1 nine的序数词是ninth。

2 序数是数词的一种,英语语法中主要提到序数,汉语中以数字的形式表示序数。此外,序数也可以用来描述生日。

3基本变量顺序,规则,后缀为-th。

4 一,二,三,特别音符,最后一个字母T, D, D。

5 8到t, 9到e, VE被F取代,ty把y变成i, th前面有一个e。

6 如果遇到几十几,先用基数,再用顺序

#include <stdioh>

#include <mathh>

void main()

{

int n,i=0,j,a;

scanf("%d",&n);

a=n ; //n不能变为0,换成a去处理,这样,才能保证后面 j=n/a;时n是正确的值!!

while(a) //

{

a/=10; //

i++;

}

printf("n是一个%d位数\n",i);

for( i--;i>=0;--i) //这里应该先减1,然后取到0

{

a=pow(10,i);

j=n/a;

switch (j)

{

case 0:printf("ZERO");break; //以下不应该判断字符,应该判断数字

case 1:printf("ONE");break;

case 2:printf("TWO");break;

case 3:printf("THREE");break;

case 4:printf("FOUR");break;

case 5:printf("FIVE");break;   

case 6:printf("SIX");break;

case 7:printf("SEVEN");break;

case 8:printf("EIGHT");break;

case 9:printf("NINE");break;

}

n=(n-ja);

printf(" "); //加个分隔

}

printf("\n"); //换行

}

#include <stdioh>

int main()

{

int iKind;

char sName[16];

scanf("%d",&iKind);

switch(iKind)

{

case 0:strcpy(sName,"Zero");break;

case 1:strcpy(sName,"One");break;

case 2:strcpy(sName,"Two");break;

case 3:strcpy(sName,"Three");break;

case 4:strcpy(sName,"Four");break;

case 5:strcpy(sName,"Five");break;

case 6:strcpy(sName,"Six");break;

case 7:strcpy(sName,"Seven");break;

case 8:strcpy(sName,"Eight");break;

case 9:strcpy(sName,"Nine");break;

default:break;

}

printf("%s",sName);

getchar();

}

public static void main(String[] args) {

Scanner s = new Scanner(Systemin);

String input = snext();

if (inputequalsIgnoreCase("zero")) {

Systemoutprintln(0);

} else if (inputequalsIgnoreCase("one")) {

Systemoutprintln(1);

} else if (inputequalsIgnoreCase("two")) {

Systemoutprintln(2);

} else if (inputequalsIgnoreCase("three")) {

Systemoutprintln(3);

} else if (inputequalsIgnoreCase("four")) {

Systemoutprintln(4);

} else if (inputequalsIgnoreCase("five")) {

Systemoutprintln(5);

} else if (inputequalsIgnoreCase("six")) {

Systemoutprintln(6);

} else if (inputequalsIgnoreCase("seven")) {

Systemoutprintln(7);

} else if (inputequalsIgnoreCase("eight")) {

Systemoutprintln(8);

} else if (inputequalsIgnoreCase("nine")) {

Systemoutprintln(9);

} else {

try {

throw new Exception("无匹配");

} catch (Exception e) {

Systemoutprintln("输入有误");

}

}

}

zero

0

one

1

two

2

seven

7

sdf

four

4

over

Press any key to continue

#include <stdioh>

#include "stringh"

main()

{

int i,j;

char Input[10];

char num [10][10] = {{"zero"},{"one"},{"two"},{"three"},{"four"},{"five"},

{"six"},{"seven"},{"eight"},{"nine"}};

while (strcmp(Input,"over")!=0)

{

gets(Input);

for (i=0;i<10;i++)

{

if (strcmp(Input,num[i])==0)

{

printf("%d\n",i);

}

}

}

}

为什么要用switch啊?如果你的意思是你的数字和英文是在asc码表中是对应的话根本不需要switch啊,系统直接会输出数字对应的英文啊。难道你的意思是你的每个英文是有编号的,输入编号后输出英文?这倒是要用switch 不过这个很简单啊

比如

scanf("%d",&a);

switch(a)

{

case 1:printf("first");break;

case 2:printf("second");break;

case 3:printf("third");break;

default:printf("wrong");break;

}

一般形式就是这样的

S, I, X, N, E 每个字母代表一个1~9的数字

SIX组成3位数

NINE组成4为数;

#include <stdioh>

int cnt, sum;

void countValue()

{

int S, I, X, N, E;

int SIX, NINE;

for (S=1; S<10; S++)

for (I=0; I<10; I++)

for (X=0; X<10; X++)

for (N=1; N<10; N++)

for (E=0; E<10; E++) //5重循环穷举每个数字

{

SIX = S100+I10+X; // 组成3位数赋值给SIX

NINE = N1000+I100+N10+E; //组成4位数赋值给NINE

if (SIX3 == NINE2) //是否满足题目条件

{

cnt++; // 满足则 cnt 计数加1;

sum += SIX+NINE; //满足条件的这两个数相加,并累加给sum;

}

}

}

void writeDat() //写入文件

{

FILE fp;

fp = fopen("OUTDAT", "w");

fprintf(fp, "%d\n%d\n", cnt, sum);

fclose(fp);

}

void main()

{

cnt = sum = 0;

countValue();

printf("满足条件的个数=%d\n", cnt);

printf("满足条件所有的SIX与NINE的和=%d\n", sum);

writeDat();

}

问题主要有两个:

1,“CHULI”这段指令只能执行一次

原因:也就是说,程序上电复位后,执行到ZERO循环,之后一直在这里循环,无法执行CHULI;

解决:将所有跳转到数字(如:ZERO、ONE、、NINE)的跳转指令改为跳转到CHULI;保证中断之后CHULI能被执行到;

2,中断中散转表指针R1递增方式错误

虽然你的程序中还感觉不到这个错误,但是存在的,而且这个错误还有两点:

一是R1的初始值是0,这样无论你怎么移位,R1永远是0;

二是,这里你不应该使用移位(我想您的意图应该是从ZERO到ONE、、NINE的顺次执行,否则只能执行ONE、TWO、FOUR、EIGHT等几条跳转),而应该使用ADD指令,每次加2个字节(我很长时间不编程了,忘记AJMP+地址有几个字节了,反正有几个字节加几)。

改改试试吧,应该没什么大问题!

另外,这个程序就算改后能执行,也尽量不要这样写。你这种写法接近使用 *** 作系统的多任务方式编程方法,但又没有 *** 作系统支持,所以显得怪怪的,可读性差,你可以参考Keil C51中TINY OS的原理改写下。如果觉得太难,可以使用常规方法,不要用死循环,比如:对每种输出(ZERO、ONE、、NINE)编写子程序,在你的散转进行子程序调用,但调用后记得跳出。

方法很多,好好思考,不要“先后试了查询方式,中断方式”一定要知道为什么不行才行,祝好运!

以上就是关于nine的序数词 nine的序数词是什么全部的内容,包括:nine的序数词 nine的序数词是什么、C语言程序代码哪错了:要求是从键盘输入一个数,将每一位数字转换为英文单词、编写程序,要求接受从键盘输入的1-9之间的任意一位整数,并将这个数用英文单词显示出来。比如输入数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10214396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存