#include<stdio.h>
int max(double a[],int size)
{
int b = a[0];
int flag;
for (int i = 0; i < size; i++)
{
if (b < a[i + 1])
{
b=a[i+1];
flag=i+1;
}
}
return flag;
}
int main()
{
double a[]={1,3,7,2,10};
printf("%d",max(a,5));
return 0;
}
1.
#include<stdio.h>
#define months 12
#define years 5
int main()
{
const float rain[years][months] =
{
{4.3,4.3,4.3,3.0,2.0,1.2,0.2,0.2,0.4,2.4,3.5,6.6},
{8.5,8.2,1.2,1.6,2.4,0.0,5.2,0.9,0.3,0.9,1.4,7.3},
{9.1,8.5,6.7,4.3,2.1,0.8,0.2,0.2,1.1,2.3,6.1,8.4},
{7.2,9.9,8.4,3.3,1.2,0.8,0.4,0.0,0.6,1.7,4.3,6.2},
{7.6,5.6,3.8,2.8,3.8,0.2,0.0,0.0,0.0,1.3,2.6,5.2}
};
float(*p)[months];
p = rain;
int year, month;
float subtot, total;
printf("每一年,各月的降水量总和\n");
for (year = 0, total = 0; year < years; year++)
{
for (month = 0, subtot = 0; month < months; month++)
{
subtot += *((*p + year) + month);//rain[year][month]
}
printf("%5d %15.1f\n", 2010 + year, subtot);
total += subtot;
}
printf("每年的平均值:%.1f\n",total/years);
printf("月平均\n");
printf("jan feb mar apr may jun jul aug sep oct nov dec\n");
for (month = 0; month < months; month++)
{
for (year = 0, subtot = 0; year < years; year++)
{
subtot += *((*p + month) + year);
}
printf("%4.1f", subtot / years);
}
return 0;
}
2.
#include<stdio.h>
void shuzu(double a[], double b[])
{
for (int i = 0; i < 5; i++)
{
b[i] = a[i];
}
}
void zhizhen(double* a, double* b)
{
for (int i = 0; i < 5; i++)
{
*(b + i) = *(a + i);
}
}
void zhizhen2(double a[], double b[], double *x)
{
for (int i = 4; i >= 0; i--)
{
b[i] = *(x - 1);
x--;
}
}
int main()
{
double x[] = { 1,2,3,4,5 };
double a[5];
double b[5];
double c[5];
double* p;
shuzu(x, a);
zhizhen(x, b);
zhizhen2(x, c, x + 5);
printf("%f", c[4]);
return 0;
}
3.
#include<stdio.h>
#include<string.h>
int max(int a[],int size)
{
int b = a[0];
for (int i = 0; i < size; i++)
{
if (b < a[i + 1])
{
b = a[i + 1];
}
}
return b;
}
int main()
{
int a[] = { 1,8,6,4,5 };
printf("%d",max(a, 5));
return 0;
}
4.
#include<stdio.h>
int max(double a[],int size)
{
int b = a[0];
int flag;
for (int i = 0; i < size; i++)
{
if (b < a[i + 1])
{
b=a[i+1];
flag=i+1;
}
}
return flag;
}
int main()
{
double a[]={1,3,7,2,10};
printf("%d",max(a,5));
return 0;
}
5.
#include<stdio.h>
double max(double a[],int size)
{
double ma = a[0];
double mi=a[0];
int i;
// printf("%f\n",mi);
for (i = 0; i < size; i++)
{
if (ma < a[i + 1])
{
ma=a[i+1];
}
if(a[i+1]<mi)
{
if(i+1>=5)
{
break;
}
mi=a[i+1];
}
}
return ma-mi;
}
int main()
{
double a[]={1,3,4,2,10};
printf("最大和最小的差值为%f",max(a,5));
return 0;
}
6.
#include<stdio.h>
void paixu(double a[],int size)
{
double temp;
for(int i=0;i<size;i++)
{
size--;
temp = a[i];
a[i]=a[size];
a[size]=temp;
}
}
int main()
{
double a[]={6,10,4,8,9};
paixu(a,5);
for(int i=0;i<5;i++)
{
printf("%f\n",a[i]);
}
return 0;
}
//方法二
#include<stdio.h>
void paixu(double a[],int size)
{
int count=0;
double b[size];
for(int i=size-1;i>=0;i--)
{
b[count]=a[i];
count++;
}
for(int i=0;i<size;i++)
{
a[i]=b[i];
}
}
int main()
{
double a[]={6,10,4,8,9};
paixu(a,5);
for(int i=0;i<5;i++)
{
printf("%f\n",a[i]);
}
return 0;
}
7.
#include<stdio.h>
#define size 2
void copy1(double a[],double b[])
{
for(int i=0;i<size;i++)
{
b[i]=a[i];
}
}
void copy(double a[][size],double b[][size])
{
for(int i=0;i<size;i++)
{
copy1(a[i],b[i]);
}
}
int main()
{
double a[][2]={{1,2},{3,4},{5,6}};
double b[size][size];
copy(a,b);
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
printf("%f\n",b[i][j]);
}
}
return 0;
}
8.
#include<stdio.h>
void copy1(double a[],double b[])
{
int cout=0;
for(int i=2;i<5;i++)
{
b[cout]=a[i];
cout++;
}
}
int main()
{
double a[]={1,2,3,4,5,6,7};
double b[3];
copy1(a,b);
for(int i=0;i<3;i++)
{
printf("%f\n",b[i]);
}
return 0;
}
9.
#include<stdio.h>
void copy(int m, int n, double a[m][n], double b[m][n])
{
int i,j;
for ( i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
b[i][j] = a[i][j];
}
}
print(m,n,a,b);
}
void print(int m, int n, double b[m][n])
{
int i,j;
for ( i = 0; i < m; i++)
{
for ( j = 0; j < n; j++)
{
printf("%f\n", b[i][j]);
}
}
}
int main()
{
double a[3][3] = { {1,2,3},{4,5,6},{78,8,9} };
double b[3][3];
copy(3, 3, a, b);
return 0;
}
10.
#include<stdio.h>
void add(int a[], int b[], int c[],int size)
{
for (int i = 0; i < size; i++)
{
c[i] = a[i] + b[i];
}
for (int j = 0; j < size; j++)
{
printf("%d\n", c[j]);
}
}
int main()
{
int a[] = { 1,2,3,45,2 };
int b[] = { 6,7,8,9,10 };
int c[5];
add(a, b, c,5);
return 0;
}
11.
#include<stdio.h>
#define m 3
#define n 5
void dou(int a[][n])
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
printf("新数组值为%d\n", a[i][j] * 2);
}
}
}
void print(int a[][n])
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
printf("原数组值为%d\n", a[i][j]);
}
}
dou(a);
}
int main()
{
int a[m][n] = { {1,2,3,4,5},{4,5,6,7,8},{8,9,10,11,12} };
print(a);
return 0;
}
12.
#include<stdio.h>
#define months 12
#define years 5
void jisuan1(float p[][months])
{
int year, month;
float subtot, total;
printf("每一年,各月的降水量总和\n");
for (year = 0, total = 0; year < years; year++)
{
for (month = 0, subtot = 0; month < months; month++)
{
subtot += *((*p + year) + month);//rain[year][month]
}
printf("%5d %15.1f\n", 2010 + year, subtot);
total += subtot;
}
printf("每年的平均值:%.1f\n", total / years);
}
void jisuan2(float p[][months])
{
int year, month;
float subtot, total;
printf("月平均\n");
printf("jan feb mar apr may jun jul aug sep oct nov dec\n");
for (month = 0; month < months; month++)
{
for (year = 0, subtot = 0; year < years; year++)
{
subtot += *((*p + month) + year);
}
printf("%4.1f", subtot / years);
}
}
int main()
{
const float rain[years][months] =
{
{4.3,4.3,4.3,3.0,2.0,1.2,0.2,0.2,0.4,2.4,3.5,6.6},
{8.5,8.2,1.2,1.6,2.4,0.0,5.2,0.9,0.3,0.9,1.4,7.3},
{9.1,8.5,6.7,4.3,2.1,0.8,0.2,0.2,1.1,2.3,6.1,8.4},
{7.2,9.9,8.4,3.3,1.2,0.8,0.4,0.0,0.6,1.7,4.3,6.2},
{7.6,5.6,3.8,2.8,3.8,0.2,0.0,0.0,0.0,1.3,2.6,5.2}
};
float(*p)[months];
p = rain;
jisuan1(p);
jisuan2(p);
return 0;
}
13.
#include<stdio.h>
#define m 3
#define n 5
void jisuan(double a[m][n])
{
double sum=0;
double total = 0;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
sum += a[i][j];
total += sum;
}
printf("第%d组平均值为%f\n",i, sum / 5);
sum = 0;
}
printf("总平均值为%f\n", total/15 );
}
int main()
{
double a[m][n];
printf("请输入3组数,每组五个,只接受double类型:");
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%lf", &a[i][j]);
}
}
jisuan(a);
return 0;
}
14.
#include<stdio.h>
void jisuan(int m,int n,double a[m][n])
{
double sum=0;
double total = 0;
int i,j;
for (i = 0; i < m; i++)
{
for ( j = 0; j < n; j++)
{
sum += a[i][j];
total += sum;
}
printf("第%d组平均值为%f\n",i, sum / 5);
sum = 0;
}
printf("总平均值为%f\n", total/15 );
}
int main()
{
double a[3][5];
int i,j;
printf("请输入3组数,每组五个,只接受double类型:");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 5; j++)
{
scanf("%lf", &a[i][j]);
}
}
jisuan(3,5,a);
return 0;
}