首页 > 解决方案 > 最小化代码并获得相同的输出

问题描述

有没有办法缩短这段代码?我的意思是不要写这么多行;我可以写几行并获得相同的输出吗?

#include<stdio.h>
int main()
{
    int input;
    printf("Enter Input \n");
    scanf("%d",&input);

   switch(input)
    {
        case 1: 
            printf("a");
            break;
        case 2: 
            printf("b");
            break;
        case 3: 
            printf("c");
            break;
        case 4: 
            printf("d");
            break;
        case 5: 
            printf("e");
            break;
        case 6: 
            printf("f");
            break;
        case 7: 
            printf("g");
            break;
        case 8: 
            printf("h");
            break;
        case 9: 
            printf("i");
            break;
        case 10: 
            printf("j");
            break;
        default:
            printf("Invalid Input");
    }
    return 0;
}

标签: c

解决方案


好吧,如果您正在寻找替代方案,则可以使用数组。就像是

 char arr [ ] = "abcdefghij";

然后,你可以做类似的事情

if ( input >= 1 && input <= 10)
    printf("%c", arr[input -1]);
else
    puts ("Invalid");

推荐阅读