|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #define M 100
- #define N 10
- void InputStuArray(int (*Stu)[N], int m, int n)
- {
- int i, j;
- for (i = 0; i < m; i++)
- {
- printf("请输入第%d个学生的%d门成绩:\n", i+1, n);
- for (j = 0; j < n; j++)
- {
- scanf("%d", *(Stu+i)+j);
- }
- }
- }
- void SumAndAverage(int (*Stu)[N], int *sum,int *ave ,int m, int n)
- {
- int i, j;
- for (i = 0; i < m; i++)
- {
- for (j = 0; j < n; j++)
- {
- *(sum + i) += *(*(Stu + i) + j);
- }
- *(ave + i) = *(sum + i) / n;
- printf("\n");
- }
- }
- void OutputStuArray(int *sum, int *ave, int m)
- {
- int i;
- for (i = 0; i < m; i++)
- {
- printf("第%d个学生的成绩\nsum->%d\naverage->%d", i+1,
- *(sum + i),
- *(ave + i));
- printf("\n");
- }
- }
- int main(void)
- {
- int m, n;
- int Stu[30][10], sum[M], ave[M];
- printf("输入m个学生 (最多为30人):");
- scanf("%d", &m);
- printf("输入n门课程 (最多为5门)的成绩:");
- scanf("%d", &n);
- InputStuArray(Stu, m, n);
- SumAndAverage(Stu, sum, ave, m, n);
- OutputStuArray(sum, ave, m);
- return 0;
- }
复制代码
请问为什么对Stu这个数组键入数值时,总是无法成功?
运行出现以下
warning: passing argument 1 of ‘SumAndAverage’ from incompatible pointer type
先看下面代码,再查你的为什么没成功。
- #include <stdio.h>
- #define M 100
- #define N 10
- void InputStuArray(int (*Stu)[N], int m, int n)
- {
- int i, j;
- for (i = 0; i < m; i++)
- {
- printf("请输入第%d个学生的%d门成绩:\n", i+1, n);
- for (j = 0; j < n; j++)
- {
- scanf("%d", *(Stu+i)+j);
- }
- }
- }
- void OutputStuArray(int (*Stu)[N], int m, int n)
- {
- int i, j;
- for (i = 0; i < m; i++)
- {
- printf("请输入第%d个学生的%d门成绩:\n", i+1, n);
- for (j = 0; j < n; j++)
- {
- printf("%d\n", *(*(Stu+i)+j));
- }
- }
- }
- int main(void)
- {
- int m, n;
- int Stu[30][10], sum[M], ave[M];
- printf("输入m个学生 (最多为30人):");
- scanf("%d", &m);
- printf("输入n门课程 (最多为5门)的成绩:");
- scanf("%d", &n);
- InputStuArray(Stu, m, n);
- OutputStuArray(Stu, m, n);
- return 0;
- }
复制代码
|
-
运行结果
|