weixin_44101400 2018-12-14 07:53 采纳率: 0%
浏览 295

大佬们好,我是c语言的初学者,请问为什么这个程序语法没错运行时里面有个函数task6没有被执行

#include
#include
#define N 30
void Input(int n,int *p1, char *p3[N], char *p2[N]);
void Average(int n,int *p1);
void Task6(int n,int *p1, char *p3[N], char *p2[N]);
int main()
{
int n, sorce[N];
int *p1=sorce;
printf("how many students?\n");
scanf("%d",&n);
char number[n][N];
char name[n][N];
char *p2[N];
char *p3[N];
int i = 0;
for(;i<n;i++)
{
p2[i]=name[i];
p3[i]=number[i];
}
Input(n,p1,p3,p2);
Average(n,p1);
Task6(n,p1,p3,p2);
}

void Input(int n,int *p1, char *p3[N], char *p2[N])
{
int i=0;
for(;i<n;i++)
{
printf("No.%d students name: \n",i+1);
getchar();
gets(*p2+i);
printf("the students number: \n");
gets(*p3+i);
printf("thr students sorce: \n");
scanf("%d",(p1+i));

}

}

void Average(int n,int p1)
{
int i=0,sum=0;
for(;i<n;i++)
{
sum+=
(p1+i);
}
printf("the sum is %d\n",sum);
printf("the average is %d\n",sum/n);
}

void Task6(int n,int *p1, char *p3[N], char *p2[N])
{
int temp1;
char *temp2;
char *temp3;
int i =0,j;
for(;i {
for(j=i+1;j {
if(p1[i]>p1[j])
{
temp1 = p1[i];
p1[i] = p1[j];
p1[j] = temp1;
temp2 = p2[i];
p2[i] = p2[j];
p2[j] = temp2;
temp3 = p3[i];
p3[i] = p3[j];
p3[j] = temp3;

        }

    }
 }
 for(;i<n;i++)
 {
    printf("%6d%13s%13s\n",p1[i],p2[i],p3[i]);
 }

}

  • 写回答

2条回答 默认 最新

  • a50110760 2018-12-14 08:03
    关注

    检查一下逻辑是否没链接上

    评论

报告相同问题?

悬赏问题

  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊