为什么这个函数输入姓名后就崩溃了?

新手上路,请多包涵

include<stdio.h>

include "ConsoleApplication1.h"

pragma warning(disable:4996)

void a(int x[]) {

int j = 0;
for (j = 0; j < 30; j++) {
    if (x[j] < 0 || x[j]>100)
        printf("输入成绩有误");
}

}
void b(int x[]) {

int j = 0;
for (j = 0; j < 30; j++) {
    if (x[j] < 1508100000 || x[j]>1508190000)
        printf("输入学号有误");
}

}
int main()
{

   int a1[30] = { 0 };
char a2[30] = { 0 };
int a3[30] = { 0 };
int b1[30] = { 0 };
int b2[30] = { 0 };
int b3[30] = { 0 };
int b4[30] = { 0 };
int b5[30] = { 0 };
int b6[30] = { 0 };
int c1[30] = { 0 };
int c2[30] = { 0 };
int d1= 0;
for (d1 = 0;d1 < 30; d1++); {
    a1[d1] = d1 + 1;
}
printf("请输入姓名:\n");
int d2= 0;
for (d2 = 0; d2 < 2; d2++) {
    scanf_s(" %s", &a2[d2],1000);
}
printf("请输入学号\n");
int  d3= 0;
for ( d3= 0; d3 < 30; d3++); {
    scanf_s(" %d", &a3[d3]);
}
b(a3);
printf("请输入高数成绩\n");
int e1= 0;
for (e1= 0; e1< 30; e1++); {
    scanf_s(" %d", &b1[e1]);
}
a(b1);
printf("请输入体育成绩\n");
int e2= 0;
for (e2= 0; e2< 30; e2++); {
    scanf_s("%d", &b2[e2]);
}
a(b2);
printf("请输入近代史成绩\n");
int e3= 0;
for (e3= 0; e3< 30; e3++); {
    scanf_s("%d", &b3[e3]);
}
a(b3);
printf("请输入导论成绩\n");
int e4= 0;
for (e4= 0; e4< 30; e4++); {
    scanf_s("%d", &b4[e4]);
}
a(b4);
printf("请输入英语成绩\n");
int e5= 0;
for (e5= 0; e5< 30; e5++); {
    scanf_s("%d", &b5[e5]);
}
a(b5);
printf("请输入c语言成绩\n");
int e6= 0;
for (e6= 0; e6< 30; e6++); {
    scanf_s("%d", &b6[e6]);
}
a(b6);
int f1= 0;
for (f1= 0; f1< 30; f1++); {
    c1[f1] = b1[f1] + b2[f1] + b3[f1] + b4[f1] + b5[f1] + b6[f1];
}
int f2= 0;
for (f2= 0; f2< 30; f2++); {
    c2[f2] = c1[f2] / 6;
}
int g = 0;
int h = 0;
for (g = 0; g < 29; g++) {
    int temp=0;
    for (h = 0; h < 29 - g; h++) {
        if (c2[h] < c2[h + 1])
        {
            temp = a2[h];
            a2[h] = a2[h + 1];
            a2[h + 1] = temp;
            temp = a3[h];
            a3[h] = a3[h + 1];
            a3[h + 1] = temp;
            temp = b1[h];
            b1[h] = b1[h + 1];
            b1[h + 1] = temp;
            temp = b2[h];
            b2[h] = b2[h + 1];
            b2[h + 1] = temp;
            temp = b3[h];
            b3[h] = b3[h + 1];
            b3[h + 1] = temp;
            temp = b4[h];
            b4[h] = b4[h + 1];
            b4[h + 1] = temp;
            temp = b5[h];
            b5[h] = b5[h + 1];
            b5[h + 1] = temp;
            temp = b6[h];
            b6[h] = b6[h + 1];
            b6[h + 1] = temp;
            temp = b6[h];
            b6[h] = b6[h + 1];
            b6[h + 1] = temp;
            temp = c1[h];
            c1[h] = c1[h + 1];
            c1[h + 1] = temp;
            temp = c2[h];
            c2[h] = c2[h + 1];
            c2[h + 1] = temp;
        }
    }
}

printf("序号 学      号 姓 名 获得学分 高等数学 大学体育 近代史 软件导论 大学英语 c语言 平均分\n");

int q;

for (q = 0; q < 30; q++) {

    //printf("%4d %d %6s %8d %8d %8d %6d %8d %8d %6d %6d",a1[q],a3[q],a2[q],c1[q],b1[q],b2[q],b3[q],b4[q],b5[q],b6[q],c2[q] );

}




return 0;

}

阅读 872
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进