C语言中,如何能够输入一个字母,运行一个函数,输入另一个字母,运行另一个函数

C语言中,如何能够输入一个字母,运行一个函数,输入另一个字母,运行另一个函数

img

判断完了,函数直接调用呀

int main()
{
    char a[20];

    scanf_s("%s", a, 20);

    if (strcmp(a, "shuzi") == 0)
        shuzi();
    else if (strcmp(a, "hunhe") == 0)
        hunhe();

    return 0;
}
char a;
->
char a[100];

scanf_s("%s", &a);
->
scanf_s("%s", &a[0], 100);

system("shuzi()");
->
shuzi();

后面几个类似,也要修改
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/243754
  • 这篇博客你也可以参考下:C语言返回指针的函数,指针函数,让一个函数返回一个字符串
  • 除此之外, 这篇博客: (C语言)编写函数,将一个字符串中元音字母复制到另一个字符串中的 编写函数,将一个字符串中元音字母复制到另一个字符串 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void output_vowel(char str1[], char str2[]) {
    	for (int i = 0, j = 0;; ++i) {
    		while (j <= (int)strlen(str1)) {
    			j++;
    			if (str1[j] == 'a' || str1[j] == 'o' || str1[j] == 'e' || str1[j] == 'i' || str1[j] == 'u') {
    				str2[i] = str1[j];
    				break;
    			}
    		}
    		if (str1[j] == '\0') {
    			break;
    		}
    	}
    }
    int main() {
    	char str1[1024] = "srvafesosefefsiusfadubtevioacj";
    	char str2[1024] = { 0 };
    	printf("原字符串为:%s\n",str1);
    	output_vowel(str1, str2);
    	printf("元音字符串为:%s\n", str2);
    	system("pause");
    	return 0;
    }
    

    在这里插入图片描述

  • 您还可以看一下 王健伟老师的C语言入门篇课程中的 关系运算符、关系表达式,逻辑运算符、逻辑表达式小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以解决问题。可以使用switch语句结合scanf来实现,在switch中根据输入的字母选择要执行的函数。具体步骤如下:

    1.定义需要执行的函数A、B等。

    2.使用scanf输入一个字母,如下:

    char letter;
    scanf("%c",&letter);
    

    3.使用switch语句,根据字母选择执行的函数,如下:

    switch(letter){
        case 'A': 
            //执行函数A,可以在这里调用函数A
            break;
        case 'B': 
            //执行函数B,可以在这里调用函数B
            break;
        //可以根据需要增加其他字母的情况
        default: 
            //输入的字母不在范围内,可以输出提示信息或者执行其他操作
            break;
    }
    

    下面是一个简单的示例代码:

    #include <stdio.h>
    
    void functionA(){
        printf("functionA\n");
    }
    
    void functionB(){
        printf("functionB\n");
    }
    
    int main(){
        char letter;
        scanf("%c",&letter);
        switch(letter){
            case 'A': 
                functionA();
                break;
            case 'B': 
                functionB();
                break;
            default: 
                printf("invalid input\n");
                break;
        }
        return 0;
    }
    

    输入A会执行函数A,输入B会执行函数B,其他字母会提示无效输入。

直接对输入用ASSII值比较就行了

在 C 语言中,可以使用 switch 语句根据输入的字母来运行不同的函数。以下是一个示例代码:

#include <stdio.h>
void func1() {
    printf("This is function 1.\n");
}
void func2() {
    printf("This is function 2.\n");
}
void func3() {
    printf("This is function 3.\n");
}
int main() {
    char input;
    printf("输入个字符: ");
    scanf("%c", &input);
    switch (input) {
        case 'a':
            func1();
            break;
        case 'b':
            func2();
            break;
        case 'c':
            func3();
            break;
        default:
            printf("输入的不对.\n");
            break;
    }
    return 0;
}

在上面的代码中,我们定义了三个函数 func1、func2 和 func3,它们分别输出不同的信息。在主函数中,我们首先使用 scanf 函数获取用户输入的字母,然后使用 switch 语句根据输入的字母来运行不同的函数。如果输入的字母不是 a、b 或 c,则输出一条错误信息。