kwl100 2021-09-18 14:14 采纳率: 93.3%
浏览 262
已结题

C语言中case非法和一些其他问题


#include<stdio.h>
#include<stdlib.h>
#include<math.h>

void mune()
{
    printf("**************************************************\n");
    printf("**         1,乘法口诀表                         **\n");
    printf("**         2,分段函数                           **\n");
    printf("**         3,进制转换                           **\n");
    printf("**         4,进制                               **\n");
    printf("**         0,退出                               **\n");
    printf("**************************************************\n");
}
void Cfkj()
{
    int a;
    do {
        printf("请输入一个0-9的数字:\n");
        scanf_s("%d", &a);
        if (a >= 1 && a < 10)break;
        else
            printf("范围错误,请重新启动。");
            return 0;
    } while (1);
    int i = 0;
    int j = 1;
    for (i = 1; i <= a; i++)
    {
        for (int j = 1; j <= i; j++)
        {
            printf("%d*%d=%d\t", j, i, i * j);
        }
        printf("\n");
    }
    system("pause");
    return 0;
}

void Fdhs()
{
    int x, y;
    printf("请输入一个数字:");
    while (scanf_s("%d", &x) == 1)
    {
        if (x > 0)
        {  
        if (x<10)
            y =x+1;
            if (x>= 10)
                y = x % 3;
            printf("y=%d\n", y);
        }
        else
            printf("y=4\n");
        printf("请输入一个数字【当输入‘m’时,结束输入】:");
    }
    return 0;
}

void Jzzha()
{
    long long n, a;
    int sum = 0, i = 0, m;
    printf("%lld", &n);
    a = n;
    while (n != 0)
    {
        m = n % 10;
        n /= 10;
        sum += m * pow(2, i);
        ++i;
    }
    printf("二进制%lld转换为十进制为%d\n", a, sum);
}

void Jzzhb()
{
    int num, m, c, i = 0;
    int n = 2;
    int a[32];
    printf("输入一个整数:");
    scanf_s("%d", &num);
    m = num;
    while (num > 0)
    {
        c = (num % n);
        a[i] = c;
        num = num / n;
        i++;
    }
    printf("十进制%d转换为二进制是:", m);
    for (i--; i >= 0; i--)
        printf("%d", a[i]);
    printf("\n");
}

void main()
{
    int n = 0;
    while (1)
    {
        mune();
        printf("请选择:");
        scanf_s("%d",&n);
        swtich(n)
        {
        case 1:Cfkj();
            break;
        case 2:Fdhs();
            break;
        case 3:Jzzha();
            break;
        case 4:Jzzhb();
            break;
        case 0:
            exit(0);
            break;
        default:

            printf("您的选择错误!!!\n");
            break;

        }
    }
}

以下是在VS2019中运行的错误提示

img

  • 写回答

4条回答 默认 最新

  • 於黾 2021-09-18 14:17
    关注

    你这代码粘了个寂寞,报错里的信息你是一点都没粘进来啊
    switch拼写都错了,你也太粗心了点吧
    还有,标题里说的case非法呢,代码里也没有找到case,报错信息里也没有case,你这纯粹标题党吗

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 已采纳回答 9月19日
  • 修改了问题 9月18日
  • 创建了问题 9月18日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100