c语言中如何通过输入获得数组的对对应下标获得相应的数组元素数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中如何通过输入获得数组的对对应下标获得相应的数组元素数据相关的知识,希望对你有一定的参考价值。

c语言中如何通过输入获得数组的对对应下标获得相应的数组元素数据比如 我输入数组下标为32 然后把32下标的元素换成 数据15 输入15把下标15的数据转成数据15

参考技术A int i,a[200];
char c;
for(i=0;(c=getchar())!='\n';i++)
a[i]=c-'0';
共有i位数字,保存于a[0]~a[i-1]中。

C语言枚举类型怎么使字符和相应的序号对应

例如:定义一个枚举类型enum weekday mon,tue,wed,tru,fri,sat,sun
我想输入一个1-7的整数,程序对应输出相对的星期几简写。
该如何实现?

关于“我想输入一个1-7的整数,程序对应输出相对的星期几简写。” 这个需求不需要用枚举,比如搞个字符串数组:

#include <stdio.h>

int main() 
    const char *weekdayStrings[] = "mon", "tue", "wed", "thu", "fri", "sat", "sun";
    int weekdayNum = 0;
    printf("input weekday (1-7): ");
    scanf("%d", &weekdayNum);
    if (weekdayNum < 1 || weekdayNum > 7) 
        printf("wrong input\\n");
        return -1;
    
    printf("weekday: %s\\n", weekdayStrings[weekdayNum-1]);
    return 0;

如果你想通过枚举值得到枚举名字,这个c语言做不到,只能用switch-case或者if-else判断,或者像我这样用字符串数组。

参考技术A 输入一个1-7的整数,程序对应输出相对的星期几简写 这与定义枚举没有关系!可以利用指针数组来实现!

int main()

char *weekday[]=
"mon","tue","wed","thu","fri","sat","sun" ;
int day=0;
scanf("%d", &day);
if ( day>7 || day<1 )


printf("error!!!\n");
return -1;

printf("%s\n", weekday[day-1] );
return 0;
追问

这样我也会啦,我就是想知道有没有枚举类型和数值相联系的方法。

追答

没有

参考技术B mon = 1; tue = 2; wed...............
像这样手动赋值就行追问

能否帮忙写个完整程序

追答

自己动动手不就写出来了呀。。。

追问

用 switch case吗?对应一个个输出?

追答

也可以啊,根据你自己的思路做下去就可以了,不行的话自己多调试一下就可以了,没必要来问的。学会独立思考与面对错误才是好的学习方法

追问

嗯 要单做出这道题肯定没问题,我就是想了解有没有枚举直接和其序数对应的操作指令,目前还没找到。

追答

枚举说白了就是集合了,序数的话应该会有下标(如:数组),枚举不会有这种东西的。。。

以上是关于c语言中如何通过输入获得数组的对对应下标获得相应的数组元素数据的主要内容,如果未能解决你的问题,请参考以下文章

c语言如何取数组元素个数?

C语言数组中如何挑选第n大的值

关于c语言数组的问题?知道他是表示几行几列的!

java如何获得集合里面某个元素的下标

C语言 输入一个字符串 去掉重复的字符,输出无重复的

PHP数组中,如何查询所有等于指定值得元素下标?