C语言:①题目:编写程序,定义一个含有15个元素的数组,并编写函数分别完成以下操作:

供稿:hz-xin.com     日期:2025-01-13
C语言题目:编写程序,定义一个含有15个元素的数组,并编写函数分别完成以下操作

#include #include #include #define M 15#define B 3void getfun(int *, int *, int);void outfun(int *, int);int main(){ int arr[M], sumarr[M / B] = {0}; srand((int)time(0)); getfun(arr, sumarr, M); outfun(sumarr, M);}void getfun(int *p, int *s, int a){ for (int i = 0; i < M; i++) { *(p + i) = rand() % 37; } int sum = 0, j = 0;//1,改动这里,原j=-1; for (int n = 0; n < M; n++)//2,改动这里,原for(int n=0;n<M/B;n++) { sum += p[n]; if ((n + 1) % 3 == 0) { s[j++] = sum; sum = 0; } } for (int i = 0; i < M; i++) { printf("%3d", p[i]); } printf("
");}void outfun(int *p, int a){ for (int i = 0; i < M / B; i++) { printf("%5d", p[i]); if ((i + 1) % B == 0) printf("
"); }}//解决,请采纳

#include
#include
#define M 15
void getx(int *s);
void putx(int s[]);
int sum(int x,int s[]);
main()
{
int x[M]={0},i;
getx(x);
putx(x);
for(i=0;i<15;i++)printf("%d ",x[i]);
printf("
");
for(i=0;i<15;i++)
printf("%d ",sum(i,x));
system("PAUSE");

}
void getx(int *s)
{
int i=0;
for(;i<M;i++)
*s++=rand()%50;

}
void putx(int s[])
{
int i=0;
for(;i<M;i++)

printf("%d",*s++);
printf("
");
}
int sum(int y,int s[])
{ int i,t=0;
for(i=0;i<4;i++)
t=t+s[(y+i)%15];
return(t);

}

#include<stdio.h>
#include<stdlib.h>
#define M 15
void getx(int *s);
void putx(int s[]);
int sum(int x,int s[]);
main()
{
int x[M]={0},i;
getx(x);
putx(x);
for(i=0;i<15;i++)printf("%d ",x[i]);
printf("\n");
for(i=0;i<15;i++)
printf("%d ",sum(i,x));
system("PAUSE");

}
void getx(int *s)
{
int i=0;
for(;i<M;i++)
*s++=rand()%50;

}
void putx(int s[])
{
int i=0;
for(;i<M;i++)

printf("%d\t",*s++);
printf("\n");
}
int sum(int y,int s[])
{ int i,t=0;
for(i=0;i<4;i++)
t=t+s[(y+i)%15];
return(t);

}

③按顺序对每隔3个数求1个和,并传回主函数;
这步怎么理解,是按照数组顺序还是数组元素的顺序,需不需要引入新的数组存储每三个数的和。

main()
{
int i;
for (i=0; i<M; i++)
if (i%3==0) printf("%d\n",qiuhe(x,i));
}
int qiuhe(int a[],int j)
{
int n,k=0;
for(n=j;n<j+3;n++)
k=k+a[n];
return(k);
}

for(i=0,j=i+2.k=0;j<n;i++,j++)
a[k++]=a[i]+a[j];

C语言:①题目:编写程序,定义一个含有15个元素的数组,并编写函数分别完成...
include<stdlib.h> define M 15 void getx(int *s);void putx(int s[]);int sum(int x,int s[]);main(){ int x[M]={0},i;getx(x);putx(x);for(i=0;i<15;i++)printf("%d ",x[i]);printf("\\n");for(i=0;i<15;i++)printf("%d ",sum(i,x));system("PAUSE...

C语言编程,题目1:定义一个一维数组,用指针引用的方法对该数组各元素赋值...
题目1 void main(){ int i;char a[3];a=1;(a+1)=2;(a+2)=3;for(i=0;i<3;i++){ printf("%d.\\n",a[i]);} return;} 题目二 include<stdio.h> void main(){ int i,j;int A[3][4]= { {1,2,3,4},{5,6,7,8},{9,10,11,12} };int (*p)[4]=A;for(i...

c语言程序设计编程题目:请 :编写完成对学生相关信息的要求:1.定义一...
include <stdio.h> include <stdlib.h> define STU_NUM 10 \/*宏定义学生的数量*\/ struct student \/*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*\/ { char stu_id[20]; \/*学生学号;*\/ float score[3]; \/*三门课成绩;*\/ float total; \/*总成绩;*\/ float aver; \/*...

试写一程序,定义一数组int a[10],从键盘读入一组数值存于该数组中,计算...
int main(){ int a[10],i,sum=0;for(i=0; i<10; i++){ scanf("%d",&a[i]);sum+=a[i];} printf("%d\\n",sum);return 0;}

编写一个c语言程序,定义一个数组含十个整数,当用户输入选择时执行不同...
printf("输入元素个数");scanf("%d",&m);for(i = 0; i<m; ++i)scanf("%d",&a[i]);p=m;} void display(int *a, int *p){ int i;for(i = 0; i < *p; ++i)printf("%5d",a[i]);printf("\\n");} void main( ){ int a[10],n=0,m;do{ printf("1,输入数组\\n...

C语言编程题:定义一个长度为10的数组,求最大值及下标。
C语言程序如下:include <stdio.h> void fun(int a[],int n,int *k){ int i,maxxr,j;maxxr=a[0];for(i=0;i<n;i++){ if(maxxr<a[i]){ maxxr=a[i];} } for(i=0;i<n;i++){ if(maxxr==a[i]){ j=i;break;} } k=j;} int main(void){ int a[10]={ 876,...

编写程序。定义一个二维数组a[3][3],每个数组元素的值由a[i][j]=...
编写程序。定义一个二维数组a[3][3],每个数组元素的值由a[i][j]=※2+j※3得到,要求按矩阵形式输出。通过调用函数,输出a[3][3]数组元素的总分和平均分 编程思路分析:题目的意图是用循环语句对数组的元素赋值,循环语句输出数组元素,函数方式计算出数组元素的总分和平均分 解答办法:使用双重for...

程序设计题目:定义一个有20个元素的整型数组,要求用for语句找出该数组...
C语言的 void main(){ int a[20]={12,23,43,54,^^^};int i,max,min;max=a[0],min=a[0];for(i=1;i<20;i++){ if(a[i]>max) max=a[i];if(a[i]<min) min=a[i];} printf("最大值%d",max);printf("最小值%d",min);} ...

C语言编程:定义一个汽车结构体?
按照题目要求编写的C语言汽车结构体程序如下 include<stdio.h> struct car{ float petrol;}c1={0};struct car refuel(struct car c){ c.petrol=c.petrol+2;return c;} int main(){ int i;for(i=0;i<5;i++){ c1=refuel(c1);printf("%.2f\\n",c1.petrol);} return 0;} ...

c语言题目:编写程序打印数字金字塔(用循环语句编写) 1
1、首先打开vs2014,新建一个项目。2、然后开始建一个新的main头文件,新建一个main文件。3、然后添加头文件<stadio.h>.4、定义i,j变量,定义一个int数组,为了在里面放入值。5、接下来用for循环给数组a赋值。6、用for循环打印数字金字塔。