数组.docx
- 文档编号:3505364
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:37
- 大小:26.56KB
数组.docx
《数组.docx》由会员分享,可在线阅读,更多相关《数组.docx(37页珍藏版)》请在冰豆网上搜索。
数组
数组
2.3.编程题.请编写一个函数fun(),它的功能是:
找出一维数组元素中最大的值和它所在的下标,最大值.和它所在的下标通过形参传回。
数组元素中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
voidfun(inta[],intn,int*max,int*d)
{
}
main()
{
inti,x[20],max,index,n=10;
randomize();
for(i=0;i<=n;i++)
{
x[i]=rand()%50;
printf("%4d",x[i]);/*输出一个随机数组*/
}
printf("\n");
fun(x,n,&max,&index);
printf("Max=%5d,Index=%4d\n",max,index);
}
3.3.编程题.请编写一个函数fun(),它的功能是:
求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
例如,若传给m的值为50,则程序输出:
711142122283335424449注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#defineM100
voidfun(intm,int*a,int*n)
{
}
main()
{
intaa[M],n,k;
clrscr();
fun(50,aa,&n);
for(k=0;k if((k+1)%20==0)/*每行输出20个数*/ {printf("%4d",aa[k]); printf("\n"); } else printf("%4d",aa[k]); printf("\n"); } 5.2.改错题 下列给定程序中,函数fun()的功能是: 先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。 请改正函数fun()中的错误,使它能得出正确的结果。 注意: 不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include intfun() { inta[3][3],sum; inti,j; /**********************found***********************/ sum=1; for(i=0;i<3;i++) {for(j=0;j<3;j++) /**********************found***********************/ scanf("%d",a[i][j]); } for(i=0;i<3;i++) sum=sum+a[i][i]; printf("Sum=%d\n",sum); } main() { fun(); } 8.1.填空题 下列给定程序中,函数fun()的功能是: 给一维数组a输入任意4个整数,并按如下的规律输出。 例如输入1,2,3,4,程序运行后输出以下方阵: 4123 3412 2341 1234 试题程序: #include #defineM4 voidfun(【1】) {inti,j,k,m; printf("Enter4number: "); for(i=0;i printf("\n\nTheresult: \n\n"); for(i=M;i>0;i--) {k=a[M-1]; for(j=M-1;j>0;j--) a[j]=a[j-1]; 【3】; for(m=0;m printf("\n"); } } main() {inta[M]; fun(a);printf("\n\n"); } 8.3.编程题.编写函数intfun(intlim,intaa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数.注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #defineMAX100 intfun(intlim,intaa[MAX]) { } main() { intlimit,i,sum; intaa[MAX]; clrscr(); printf("输入一个整数"); scanf("%d",&limit); sum=fun(limit,aa); for(i=0;i { if(i%10==0&&i! =0)/*每行输出10个数*/ printf("\n"); printf("%5d",aa[i]); } } 9.3.编程题.编写程序,实现矩阵(3行3列)的转置(即行列互换)。 例如,若输入下面的矩阵: 100200300 400500600 700800900 则程序输出: 100400700 200500800 300600900 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include intfun(intarray[3][3]) { } main() { inti,j; intarray[3][3]={{100,200,300},{400,500,600},{700,800,900}}; clrscr(); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } fun(array); printf("Convertedarray: \n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } } 10.3.编程题 请编写函数fun(),函数的功能是求出二维数组周边元素之和,作为函数值返回。 二维数组中的值在主函数中赋予。 例如: 若二维数组中的值为 13579 29994 69998 13570 则函数值为61。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #defineM4 #defineN5 intfun(inta[M][N]) { } main() { intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}}; inti,j,y; clrscr(); printf("Theoriginaldatais: \n"); for(i=0;i {for(j=0;j printf("%6d",aa[i][j]); printf("\n"); } y=fun(aa); printf("\nThesun: %d\n",y); printf("\n"); } 11.1.填空题给定程序中,函数fun()的功能是: 使数组中的元素的值增加10倍。 试题程序: #include #include intm[10]; 【1】fun(void) { intj; printf("Insubfuncaftercalling\n"); for(j=0;【2】;j++) { m[j]=【3】; printf("%3d",m[j]); } } main() {inti; printf("Inmainbeforecalling\n"); for(i=0;i<10;i++) { m[i]=i; printf("%3d",m[i]); } fun(); printf("\nInmainaftercalling\n"); for(i=0;i<10;i++) printf("%3d",m[i]); getch(); } 11.3.编程题.下列程序定义了N×N的二维数组,并在主函数中赋值。 请编写函数fun(),函数的功能是: 求出数组周边元素的平均值并作为函数值返回给主函数中的s。 例如: 若a数组中的值为a= 01279 19745 23831 45682 59141 则返回主程序后s的值应为3.375。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include #defineN5 doublefun(intw[][N]) { } main() { inta[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1}; inti,j; doubles; clrscr(); printf("*****Thearray*****\n"); for(i=0;i {for(j=0;j {printf("%4d",a[i][j]);} printf("\n"); } s=fun(a); printf("*****THERESULT*****\n"); printf("Thesumis: %lf\n",s); } 12.3.编程题.下列程序定义了N×N的二维数组,并在主函数中自动赋值。 请编写函数fun(inta[][N]),该函数的功能是: 使数组左下半三角元素中的值全部置成0。 例如a数组中的值为a= 197 238 456 则返回主程序后a数组中的值应为 097 008 000 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include #include #include #defineN5 intfun(inta[][N]) { } main() { inta[N][N],i,j; clrscr(); printf("*****Thearray*****\n"); for(i=0;i {for(j=0;j {a[i][j]=rand()%10; printf("%4d",a[i][j]); } printf("\n"); } fun(a); printf("THERESULT\n");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组