分析程序#include<stdio.h> #include<string.h> int chseq(char ch) { if(ch>='a'&&ch<='z'){ return (ch-'a'+1); }else if(ch>='A'&&ch<='Z'){ return (ch-'A'+1); } return 0; } void output(char ch, int n) { if(n%10==1){ printf("%c is %dst character.\n",ch,n); }else if(n%10==2){ printf("%c is %dnd character.\n",ch,n); }else if(n%10==3){ printf("%c is %drd character.\n",ch,n); }else{ printf("%c is %dth character.\n",ch,n); } } int main() { char ch = getchar(); int n = chseq(ch); output(ch, n); return 0; }
时间: 2023-10-23 12:11:55 浏览: 335
编译原理词法分析程序,按照老师要求编写的
5星 · 资源好评率100%
这个程序的作用是接收一个字符作为输入,并输出该字符是字母表中的第几个字母。
程序中定义了两个函数:`chseq`和`output`。`chseq`函数接收一个字符作为参数,通过判断字符是否在小写字母范围或大写字母范围内,计算出该字符在字母表中的位置。小写字母a的位置为1,小写字母b的位置为2,以此类推。大写字母A的位置也为1,大写字母B的位置为2,以此类推。如果字符不是字母,则返回0。
`output`函数接收两个参数:一个字符和一个整数。根据整数的个位数字,使用条件语句选择正确的序数词(st、nd、rd或th)并打印出结果。
在`main`函数中,程序首先使用`getchar`函数获取一个字符作为输入,并调用`chseq`函数计算该字符在字母表中的位置。然后,它将字符和位置作为参数调用`output`函数,输出结果。
最后,程序返回0,表示运行成功结束。
这个程序简单明了,功能清晰,可以正确地输出给定字符是字母表中的第几个字母。
阅读全文