weixin_44101400
2018-12-14 07:53大佬们好,我是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条回答
为你推荐
- 各位大佬帮我看一下,为啥我这个没有东西输出来,程序运行是成功的
- c语言
- 测试用例
- 1个回答
- 能不能球球大佬给我详细解释一下第一个程序为什么有问题?为什么第二个才是对的?
- c语言
- c++
- 2个回答
- 请问各位大佬这个报错是为什么啊?
- c语言
- 1个回答
- 程序改错,c语言初学者,请各位大佬帮忙!谢谢你!!!
- c语言
- 1个回答
- 这一段代码运行后总是只有一个“press any key to continue”,有没有大佬看一看是怎么回事?
- c语言
- 1个回答