10.13.2
#include<stdio.h>
#include<stdlib.h>
void copy_arr(double target1[], double s[], int);
void copy_ptr(double target2[], double s[], int);
int main(void)
{
double source[5] = { 1.1,2.2,3.3,4.4,5.5 };
double target1[5];
double target2[5];
copy_arr(target1, source, 5);
copy_ptr(target2, source, 5);
putchar('\n');
system("pause");
return 0;
}
void copy_arr(double target1[], double s[], int n)
{
int i;
for (i = 0; i<n; i++)
{
*(target1 + i) = *(s + i);
printf("%4.1f", target1[i]);
}
putchar('\n');
}
void copy_ptr(double target2[], double s[], int n)
{
double *pt;
pt = s;
int i;
for (i = 0; i < n; i++)
{
target2[i] = pt[i];
printf("%4.1f", target2[i]);
}
}
10.13.13
#include<stdio.h>
#define ROWS 3
#define COLS 5
void get_number(double arr[][COLS]);
void get_average(const double arr[][COLS ]);
double get_totalaver(const double arr[][COLS]);
double get_max(const double(*ptr)[COLS]);
int main(void)
{
double max;
double orig[ROWS][COLS];
printf("请输入15个数:\n");
get_number(orig);
get_average(orig);
printf("所有数据的平均值为:%g\n", get_totalaver(orig));
max=get_max(orig);
printf("最大值为:%g\n", max);
return 0;
}
void get_number(double arr[][COLS])
{
int i, j;
for(i=0;i<ROWS;i++)
for (j = 0; j < COLS; j++)
{
scanf("%lf",&arr[i][j]);
}
getchar();
}
void get_average(const double arr[][COLS])
{
double tot;
int i;
int j;
for (i = 0; i < ROWS; i++)
{
tot = 0;
for (j = 0; j < COLS; j++)
{
tot += arr[i][j];
}
printf("第%d组数的平均值:%g\n",i+1,tot/COLS);
}
}
double get_totalaver(double arr[][COLS])
{
int r, c;
double total=0;
for (r = 0; r < ROWS; r++)
{
for (c = 0; c < COLS; c++)
{
total += arr[r][c];
}
}
return total / (ROWS*COLS);
}
double get_max(const double arr[][COLS])
{
int r, c;
double max=arr[0][0];
for (r = 0; r < ROWS; r++)
{
for (c = 1; c < COLS; c++)
{
if (max < arr[r][c])
max = arr[r][c];
}
}
return max;
}
The C Primer Plus 第十章答案
猜你喜欢
转载自blog.csdn.net/qq_42543697/article/details/82387678
今日推荐
周排行