C语言如何键入特定英文字母然后输出特定数字?

Python013

C语言如何键入特定英文字母然后输出特定数字?,第1张

用两个数组:一个存放特定的字母,另一个存放对应的数字

当输入字母的时候编立字符数组,如果找到了这个字母就输出对应下标的数字

char

str[]={a,b,c,d},cint

number[]={254,987,265,782}

scanf("%c",&c)

for(i=0i<4i++)

if(str[i]==c)

printf("%d",number[i])

这个是很简单的。你可以将字母a用数字的方式打印出来试试,如printf("%d",'a')输出是97,那么只要减去96就可以了。顺便说一下,首先char其实就是8位的整数变量,但是由于ASCII码的编码也是8位,所以常常使用char来表示ASCII字符,因此char也叫字符变量。所以char变量的本质就是数字。不难发现通过查找ASCII表,a的编码的十进制数就是97。当然你也会发现a和A的编码是不一样的,如果你的功能是输入a和A输出都是1,那么就要提前判断一下。

当然你也可以通过判断来实现这个功能,如:

char temp = getchar()

if(temp == 'a')

    ......

else if(temp == 'A')

    ......

else if(temp == 'f')

    ......

还有,可以通过switch来实现,如:

char temp = getchar()

switch(temp)

{

    case 'a':

        ......

        break

    case 'A':

        ......

        break

    default:break

}

需要声明一下,由于char本身就是数字,所以是可以使用switch的,但是不要妄图通过switch来判断字符串变量(char[])这是不可行,虽然你可能在其他的高级语言中看到过这种用法,但是在C中是不能运行的。

格式:intgetchar(void)

intc=getchar()

b)等价于:intc=getc(stdin)

c)也等价于:

intc

scanf(“%c”,&c)

a)单字符输入输出:

getchar、getc函数:c=getchar()等价于scanf(“%c”,&c)

putchar、putc函数:putchar(c)等价于printf(“%c”,c)

b)单行输入输出:

gets函数:gets(str)等价于scanf(“%s”,str)

puts函数:puts(str)等价于printf(“%s\n”,str)

c)格式化输入输出:

printf包括:%d、%u、%x、%c、%s等等。

scanf包括:%d、%u、%x、%c、%s等等。

d)占位控制:

对于整数和字符串在%和控制符之间的数字代表占位,负号代表左对齐。

对于浮点数除了用数字代表占位,负号代表左对齐,还有小数位数的管理。

扩展资料

C 语言中的数据类型(64位)

标识符长度名称识别方式

char 1B 字符型 ASCII码

short 2B 短整型 补码

int 4B 整型 补码

long 8B 长整型 浮点

float 4B 单精度 浮点

double 8B 双精度 浮点

* 8B 地址、指针 字节编号