我这个老是错误怎么解决





#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void a()
{
     int a;
         printf("\t**    查看for语句         **\n");
          printf("\t**        1:查看          **\n");
          printf("\t**        0:退出          **\n");
          printf("\t****************************\n");
           scanf("%d",&a);
           printf("\n");
           switch(a)
           {
          case 1:
        {
            printf("开始\n");
            //getch();
            system("color 1");
            printf("                            *                       \n");
            printf("                           ***                      \n ");
            printf("                          *****\n");
            printf("                         ******* \n");
            printf("                       **********\n");
            printf("               ***************************\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
        }break;
          case 0:printf("已返回主页面\n");break;
          default:
         printf("输入错误,请重新输入\n");
         break;
         }
       
}

int b()
{
     int b;
         printf("*********************************");
         printf("\t**     观看数组类型图像    **\n");
          printf("\t**          1:观看        **\n");
          printf("\t**          2:退出        **\n");
          printf("\t*****************************\n");
          scanf("%d",&b);
          printf("\n");
          switch(b)
          {
             case 1:
            {   int a[10][10];
            int x,y;
            for(x=0;x<=9;x++)
            {
                for(y=0;y<=9;y++)
                {
                    a[x][0]=x+1;
                    a[x][y+1]=2*a[x][y];
                }
            }
             printf("输出10行10列的值:\n");
               for(x=0;x<=9;x++)
               {
                   for(y=0;y<=9;y++)
                   printf("%5d",a[x][y]);
                   printf("\n");
                } 
        } break;
              case 2:printf("已回到主页面\n");break;
              default:
             printf("输入错误,返回主界面请重新输入\n");
             break;
         }
}

int c()
{
     int c;
          printf("\t**      函数类型图像      **\n");
          printf("\t**        1:阶乘         **\n");
         printf("\t**        2:最大值       **\n");
         printf("\t**        3:返回         **\n");
          printf("\t****************************\n");
          scanf("%d",&c);
          printf("\n");
          switch(c)
          {
             case 1://阶乘 
             {
                {
                    int fac(int x);
                    int x,y; 
                    printf("输入阶乘的数:");
                    scanf("%d",&x);
                    y=fac(x);
                    printf("%d!=%d\n",x,y);
                    return 0;
                }
                
                int fac(int x); 
                {
                    int a,x;
                    if(x<0)
                    printf("x<0,data error!");
                    else if(x==0,x==1)
                    a=1;
                    else
                    a=fac(x-1)*x;
                    return(a);
                }break;
            
            }
              case 2://最大值 
              {
                {
                    int max4(int a,int b,int c,int d);
                    int a,b,c,d,max;
                    printf("请输入4个数:");
                    scanf("%d,%d,%d,%d",&a,&b,&c,&d);
                    max=max4(a,b,c,d);
                    printf("最大值是:%d\n",max);
                    return 0; 
                }
                int max4(int a,int b,int c,int d)
                {
                    int max2(int a,int b);
                    int n;
                    n=max2(a,b);
                    n=max2(n,c);
                    n=max2(n,d);
                    return n;
                }
                int max2(int a,int b)
                {
                     if(a>=b)
                       return a;
                     else
                       return b;
                }break;
            }
             case 3:printf("已返回主页面\n");break;  
              default:
             printf("输入错误,返回主界面请重新输入\n");
             break;
         }
}

void d()
{
     int d;
         printf("\t************************\n");
         printf("\t**请选择九九乘法表类型**\n");
         printf("\t********1:左上*********\n");
         printf("\t*****   2:左下   ******\n");
         printf("\t***     3:右上     ****\n");
         printf("\t***     4:右下     ****\n");
         printf("\t*****   5:奇数   ******\n");
         printf("\t********6:返回*********\n");
         printf("\t************************\n");
         scanf("%d",&d);
          printf("\n");
          switch(d)
          {
             case 1://九九乘法表左上
                {
                    int x, y;
                    for(x=9;x>0;x--)
                    {
                        for(y=1;y<=x;y++)
                        printf("%d*%d=%2d\t",x,y,x*y);
                        printf("\n");
                    }
                };break;
              case 2:////九九乘法表左下
                {
                 int x,y;
                 for(x=1;x<=9;x++)
                     {
                     for(y=1;y<=x;y++)
                     printf("%d*%d=%2d\t",x,y,x*y);   
                     printf("\n");
                     }    
                };break;
             case 3://九九乘法表右上 
                {
                    int x, y; 
                    for(x=1;x<=9;x++)
                    {
                    for(y=1;y<=9;y++)
                    {
                    if(y<x)
                    printf("\t");
                    else
                    printf("%d*%d=%2d\t",x,y,x*y);
                    }
                        printf("\n");
                    }    
                };break;  
             case 4://九九乘法表右下 
                             {
                 int x,y,n;
                 for(x=1;x<=9;x++)
                     {
                        for(n=1;n<=9-x;n++)
                        printf("\t");
                        {
                        for(y=1;y<=x;y++)
                        printf("%d*%d=%2d\t",x,y,x*y);   
                        printf("\n");
                        }
                    }
                };break; 
             case 5://九九乘法表奇数 
                {
                 int x,y,n;
                 for(x=1;x<=9;x++)
                     {
                        for(n=1;n<=9-x;n++)
                        printf("\t");
                         {
                            for(y=1;y<=x;y++)
                            if(x%2!=0)
                            printf("%d*%d=%2d\t",x,y,x*y);   
                            printf("\n");
                         }
                    }
                };break;
             case 6:printf("已返回主页面\n");break;   
              default:
             printf("输入错误,返回主界面重新输入\n");
             break;
         }
}

void e()
{
    int e;
    printf("1:输入一个数,判断是正数、负数还是零。\n");
    printf("2:输入一个小于10000的正整数,将其每个位数输出,并且逆序输出。\n");
    printf("3:输入4个数字,让其从小到大排序。\n");
    printf("4:求三位数的水仙花数。\n");
    printf("5:用c语言求下列分数序列的前20项之和\n");
    printf("6:一个球从100m高度自由落下,每次落地后反弹回原来高度的一半,再落下.求它在第10次落地并反弹到最高点,共经过多少m?第10次反弹多高?\n");
    printf("7:输出杨辉三角。\n");
    printf("8:利用折半查找法找数。");
    printf("9:输入3行字符串,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
    printf("10:输入一段文字,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
    printf("11:写程序完成下面条件:1)输入10个职工的姓名和职工号;2)按职工号由小到大的顺序排序;3)要求输入一个职工号,用折半法查找出该职工的姓名,从主函数输入要查找的职工号,输出该职工的姓名\n");
    printf("12:给一段数,给每个数之间插入空格\n");
    printf("13:输入3个数字,从小到大排列。\n");
    printf("14:编写C语言程序,输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。\n");
    printf("15:输入一行文字,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
    printf("16:输入5个学生的学号、姓名、分数1、分数2以及分数3并输出。\n");
    scanf("%d",&d);
      printf("\n");
          switch(e)
          {
          case 1:
            {
                int x;
                printf("请输入x的值:");
                scanf("%d",&x);
                if(x<0)
                    printf("Y=-1\n");
                else
                       if(x=0)
                         printf("Y=0\n");
                    else
                         printf("Y=1\n");
            }break;
        case 2:
          break;
        case 3:
          break;
        case 4:
          break; 
        default:
         printf("输入错误,返回主界面重新输入\n");
        break;
          }
}

void f()
{
     int f;
          printf("\t**是否确认观看函数类型图像**\n");
          printf("\t**        1:用号输出字母C的图案。       **\n");
         printf("\t**        2:求最大值     **\n");
         printf("\t**        3:返回         **\n");
          printf("\t****************************\n");
          scanf("%d",&c);
          printf("\n");
          switch(f)
          {
             case 1:
            {    
                printf("Hello C-world!\n");
                printf(" ****\n");
                printf(" *\n");
                printf(" * \n");
                printf(" ****\n");
            }
                break;
              case 2:system("F:\\求最大值.exe\n");break;
             case 3:printf("已返回主页面\n");break;  
              default:
             printf("输入错误,返回主界面请重新输入\n");break;
             }
}

main()

{
     int x;
     while(1)
     {
         printf("\t********操作选项********\n");
         printf("\t**    1:for语句       **\n");
         printf("\t**    2:数组类型      **\n");
         printf("\t**    3:函数类型      **\n");
         printf("\t**    4:九九乘法表    **\n");
         printf("\t**    5:个人小    **\n");
         printf("\t**    6:图像打印类    **\n");

         printf("\t************************\n");
     
     scanf("%d",&x);
     printf("\n");
     
     switch(x)
      {
          case 1: a();break;
          case 2: b();break;
          case 3: c();break;
         case 4: d();break;
         case 5: e();break;
         case 6: f();break;
         default:
        printf("输入错误,请重新输入\n");
        break;
     } 
  }
}

方法怎么写在case块中?

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void a()
{
     int a;
         printf("\t**    查看for语句         **\n");
          printf("\t**        1:查看          **\n");
          printf("\t**        0:退出          **\n");
          printf("\t****************************\n");
           scanf("%d",&a);
           printf("\n");
           switch(a)
           {
          case 1:
        {
            printf("开始\n");
            //getch();
            system("color 1");
            printf("                            *                       \n");
            printf("                           ***                      \n ");
            printf("                          *****\n");
            printf("                         ******* \n");
            printf("                       **********\n");
            printf("               ***************************\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
            printf("\n");
        }break;
          case 0:printf("已返回主页面\n");break;
          default:
         printf("输入错误,请重新输入\n");
         break;
         }
}
int b()
{
     int b;
         printf("*********************************");
         printf("\t**     观看数组类型图像    **\n");
          printf("\t**          1:观看        **\n");
          printf("\t**          2:退出        **\n");
          printf("\t*****************************\n");
          scanf("%d",&b);
          printf("\n");
          switch(b)
          {
             case 1:
            {   int a[10][10];
            int x,y;
            for(x=0;x<=9;x++)
            {
                for(y=0;y<=9;y++)
                {
                    a[x][0]=x+1;
                    a[x][y+1]=2*a[x][y];
                }
            }
             printf("输出10行10列的值:\n");
               for(x=0;x<=9;x++)
               {
                   for(y=0;y<=9;y++)
                   printf("%5d",a[x][y]);
                   printf("\n");
                } 
        } break;
              case 2:printf("已回到主页面\n");break;
              default:
             printf("输入错误,返回主界面请重新输入\n");
             break;
         }
}
int c()
{
     int c;
          printf("\t**      函数类型图像      **\n");
          printf("\t**        1:阶乘         **\n");
         printf("\t**        2:最大值       **\n");
         printf("\t**        3:返回         **\n");
          printf("\t****************************\n");
          scanf("%d",&c);
          printf("\n");
          switch(c)
          {
             case 1://阶乘 
             {
                {
                    int fac(int x);
                    int x,y; 
                    printf("输入阶乘的数:");
                    scanf("%d",&x);
                    y=fac(x);
                    printf("%d!=%d\n",x,y);
                    return 0;
                }
                break;
            }
              case 2://最大值 
              {
                {
                    int max4(int a,int b,int c,int d);
                    int a,b,c,d,max;
                    printf("请输入4个数:");
                    scanf("%d,%d,%d,%d",&a,&b,&c,&d);
                    max=max4(a,b,c,d);
                    printf("最大值是:%d\n",max);
                    return 0; 
                }
                break;
            }
             case 3:printf("已返回主页面\n");break;  
              default:
             printf("输入错误,返回主界面请重新输入\n");
             break;
         }
}
void d()
{
     int d;
         printf("\t************************\n");
         printf("\t**请选择九九乘法表类型**\n");
         printf("\t********1:左上*********\n");
         printf("\t*****   2:左下   ******\n");
         printf("\t***     3:右上     ****\n");
         printf("\t***     4:右下     ****\n");
         printf("\t*****   5:奇数   ******\n");
         printf("\t********6:返回*********\n");
         printf("\t************************\n");
         scanf("%d",&d);
          printf("\n");
          switch(d)
          {
             case 1://九九乘法表左上
                {
                    int x, y;
                    for(x=9;x>0;x--)
                    {
                        for(y=1;y<=x;y++)
                        printf("%d*%d=%2d\t",x,y,x*y);
                        printf("\n");
                    }
                };break;
              case 2:////九九乘法表左下
                {
                 int x,y;
                 for(x=1;x<=9;x++)
                     {
                     for(y=1;y<=x;y++)
                     printf("%d*%d=%2d\t",x,y,x*y);   
                     printf("\n");
                     }    
                };break;
             case 3://九九乘法表右上 
                {
                    int x, y; 
                    for(x=1;x<=9;x++)
                    {
                    for(y=1;y<=9;y++)
                    {
                    if(y<x)
                    printf("\t");
                    else
                    printf("%d*%d=%2d\t",x,y,x*y);
                    }
                        printf("\n");
                    }    
                };break;  
             case 4://九九乘法表右下 
                             {
                 int x,y,n;
                 for(x=1;x<=9;x++)
                     {
                        for(n=1;n<=9-x;n++)
                        printf("\t");
                        {
                        for(y=1;y<=x;y++)
                        printf("%d*%d=%2d\t",x,y,x*y);   
                        printf("\n");
                        }
                    }
                };break; 
             case 5://九九乘法表奇数 
                {
                 int x,y,n;
                 for(x=1;x<=9;x++)
                     {
                        for(n=1;n<=9-x;n++)
                        printf("\t");
                         {
                            for(y=1;y<=x;y++)
                            if(x%2!=0)
                            printf("%d*%d=%2d\t",x,y,x*y);   
                            printf("\n");
                         }
                    }
                };break;
             case 6:printf("已返回主页面\n");break;   
              default:
             printf("输入错误,返回主界面重新输入\n");
             break;
         }
}
void e()
{
    int e;
    printf("1:输入一个数,判断是正数、负数还是零。\n");
    printf("2:输入一个小于10000的正整数,将其每个位数输出,并且逆序输出。\n");
    printf("3:输入4个数字,让其从小到大排序。\n");
    printf("4:求三位数的水仙花数。\n");
    printf("5:用c语言求下列分数序列的前20项之和\n");
    printf("6:一个球从100m高度自由落下,每次落地后反弹回原来高度的一半,再落下.求它在第10次落地并反弹到最高点,共经过多少m?第10次反弹多高?\n");
    printf("7:输出杨辉三角。\n");
    printf("8:利用折半查找法找数。");
    printf("9:输入3行字符串,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
    printf("10:输入一段文字,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
    printf("11:写程序完成下面条件:1)输入10个职工的姓名和职工号;2)按职工号由小到大的顺序排序;3)要求输入一个职工号,用折半法查找出该职工的姓名,从主函数输入要查找的职工号,输出该职工的姓名\n");
    printf("12:给一段数,给每个数之间插入空格\n");
    printf("13:输入3个数字,从小到大排列。\n");
    printf("14:编写C语言程序,输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。\n");
    printf("15:输入一行文字,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
    printf("16:输入5个学生的学号、姓名、分数1、分数2以及分数3并输出。\n");
    scanf("%d",&d);
      printf("\n");
          switch(e)
          {
          case 1:
            {
                int x;
                printf("请输入x的值:");
                scanf("%d",&x);
                if(x<0)
                    printf("Y=-1\n");
                else
                       if(x=0)
                         printf("Y=0\n");
                    else
                         printf("Y=1\n");
            }break;
        case 2:
          break;
        case 3:
          break;
        case 4:
          break; 
        default:
         printf("输入错误,返回主界面重新输入\n");
        break;
          }
}
void f()
{
     int f;
          printf("\t**是否确认观看函数类型图像**\n");
          printf("\t**        1:用号输出字母C的图案。       **\n");
         printf("\t**        2:求最大值     **\n");
         printf("\t**        3:返回         **\n");
          printf("\t****************************\n");
          scanf("%d",&c);
          printf("\n");
          switch(f)
          {
             case 1:
            {    
                printf("Hello C-world!\n");
                printf(" ****\n");
                printf(" *\n");
                printf(" * \n");
                printf(" ****\n");
            }
                break;
              case 2:system("F:\\求最大值.exe\n");break;
             case 3:printf("已返回主页面\n");break;  
              default:
             printf("输入错误,返回主界面请重新输入\n");break;
             }
}
int main()
{
     int x;
     while(1)
     {
         printf("\t********操作选项********\n");
         printf("\t**    1:for语句       **\n");
         printf("\t**    2:数组类型      **\n");
         printf("\t**    3:函数类型      **\n");
         printf("\t**    4:九九乘法表    **\n");
         printf("\t**    5:个人小    **\n");
         printf("\t**    6:图像打印类    **\n");
         printf("\t************************\n");
     scanf("%d",&x);
     printf("\n");
     switch(x)
      {
          case 1: a();break;
          case 2: b();break;
          case 3: c();break;
         case 4: d();break;
         case 5: e();break;
         case 6: f();break;
         default:
        printf("输入错误,请重新输入\n");
        break;
     } 
  }
  return 0;
}
int fac(int x)
                {
                    int a;
                    if(x<0)
                    printf("x<0,data error!");
                    else if(x==0,x==1)
                    a=1;
                    else
                    a=fac(x-1)*x;
                    return(a);
                }
int max4(int a,int b,int c,int d)
                {
                    int max2(int a,int b);
                    int n;
                    n=max2(a,b);
                    n=max2(n,c);
                    n=max2(n,d);
                    return n;
                }
                int max2(int a,int b)
                {
                     if(a>=b)
                       return a;
                     else
                       return b;
                }