数组应用程序设计.docx
- 文档编号:20129524
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:21
- 大小:18.94KB
数组应用程序设计.docx
《数组应用程序设计.docx》由会员分享,可在线阅读,更多相关《数组应用程序设计.docx(21页珍藏版)》请在冰豆网上搜索。
数组应用程序设计
数组应用程序设计
1、从键盘输入11个数存入一维数组中,先输出下标为奇数的元素,再输出下标为偶数的元素。
main()
{floata[11];
inti;
for(i=0;i<=10;i++)
scanf("%f",&a[i]);
for(i=1;i<=9;i+=2)
printf("%f,",a[i]);
for(i=0;i<=10;i+=2)
printf("%f,",a[i]);
printf("\n");
}
2、从键盘输入11个数存入一维数组中,将下标为奇数的元素值取倒数后重新存入该数组中,并输出所有元素。
main()
{floata[11];
inti;
for(i=0;i<=10;i++)
scanf("%f",&a[i]);
for(i=1;i<=9;i+=2)
a[i]=1/a[i]; /*因a[i]为float型,故不必写作1.0/a[i]*/
for(i=0;i<=10;i++)
printf("%f,",a[i]);
printf("\n");
}
3、从键盘输入11个数存入一维数组中,将左半部分的元素值取倒数后重新存入该数组中,并输出所有元素。
解法1:
main()
{floata[11];
inti;
for(i=0;i<11;i++)
scanf("%f",&a[i]);
for(i=0;i<5;i++) /*左半部分下标为0到4*/
a[i]=1/a[i];
for(i=0;i<11;i++)
printf("%f,",a[i]);
printf("\n");
}
解法2:
#defineN11
main()
{floata[N];
inti;
for(i=0;i scanf("%f",&a[i]); for(i=0;i a[i]=1/a[i]; for(i=0;i printf("%f,",a[i]); printf("\n"); } 4、从键盘输入11个数存入一维数组中,将右半部分的元素值取相反数后重新存入该数组中,并输出所有元素。 解法1: main() {floata[11]; inti; for(i=0;i<11;i++) scanf("%f",&a[i]); for(i=6;i<11;i++) /*右半部分下标为6到10*/ a[i]=-a[i]; for(i=0;i<11;i++) printf("%f,",a[i]); printf("\n"); } 解法2: #defineN11 main() {floata[N]; inti; for(i=0;i scanf("%f",&a[i]); for(i=(N+1)/2;i<=N-1;i++) /*右半部分下标为(N+1)/2到N-1*/ a[i]=-a[i]; for(i=0;i printf("%f,",a[i]); printf("\n"); } 5、求出斐波那契数列的前20项并输出。 main() {longf[20]={1,1}; inti; for(i=2;i<=19;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<=19;i++) printf("%12ld",f[i]); } 6、从键盘输入10个数,求出其中的最大数并输出。 main() {inta[10],max,i; for(i=0;i<=9;i++) scanf("%d",&a[i]); max=a[0]; for(i=1;i<=9;i++) {if(a[i]>max) max=a[i]; } printf("max=%d\n",max); } 7、从键盘输入10个数,求出其中的最大数和最小数并输出。 解法1: main() {inta[10],max,min,i; for(i=0;i<=9;i++) scanf("%d",&a[i]); max=a[0]; for(i=1;i<=9;i++) {if(a[i]>max) max=a[i]; } min=a[0]; for(i=1;i<=9;i++) {if(a[i] min=a[i]; } printf("max=%d\n",max); printf("min=%d\n",min); } 解法2: main() {inta[10],max,min,i; for(i=0;i<=9;i++) scanf("%d",&a[i]); max=min=a[0]; for(i=1;i<=9;i++) {if(a[i]>max) max=a[i]; if(a[i] min=a[i]; } printf("max=%d,min=%d\n",max,min); } 8、从键盘输入11个数存入一维数组a中,再将其中的值按相反的顺序存入数组b中并输出。 解法1: main() {inta[11],b[11],i; for(i=0;i<11;i++) scanf("%d",&a[i]); for(i=0;i<11;i++) {b[i]=a[10-i]; printf("%d,",b[i]); } printf("\n"); } 解法2: #defineN11 main() {inta[N],b[N],i; for(i=0;i scanf("%d",&a[i]); for(i=0;i {b[i]=a[N-1-i]; printf("%d,",b[i]); } printf("\n"); } 8A、从键盘输入11个数存入一维数组中,将其中的值前后倒置后重新存入该数组中并输出。 解法1: main() {inta[11],i,j,t; for(i=0;i<=10;i++)/*用循环输入11个元素*/ scanf("%d",&a[i]); i=0;j=10; while(i {t=a[i];a[i]=a[j];a[j]=t;/*交换对应元素的值*/ i++;j--; } for(i=0;i<=10;i++)/*用循环输出11个元素*/ printf("%d,",a[i]); printf("\n"); } 解法2: main() {inta[11],i,j,t; for(i=0;i<=10;i++)/*用循环输入11个元素*/ scanf("%d",&a[i]); for(i=0,j=10;i {t=a[i]; a[i]=a[j]; a[j]=t;/*交换对应元素的值*/ } for(i=0;i<=10;i++)/*用循环输出11个元素*/ printf("%d,",a[i]); printf("\n"); } 解法3: #defineN11 main() {inta[N],i,t; for(i=0;i scanf("%d",&a[i]); for(i=0;i {t=a[i]; a[i]=a[N-1-i]; a[N-1-i]=t;/*交换对应元素的值*/ } for(i=0;i printf("%d,",a[i]); printf("\n"); } 9、从键盘输入11个数存入一维数组中,将该数组中左半部分与右半部分的值平移交换后重新存入该数组中并输出。 解法1: main() {inta[11],i,t; for(i=0;i<11;i++)/*用循环输入11个元素*/ scanf("%d",&a[i]); for(i=0;i<=4;i++) {t=a[i]; a[i]=a[i+6]; a[i+6]=t;/*交换对应元素的值*/ } for(i=0;i<11;i++)/*用循环输出11个元素*/ printf("%d,",a[i]); printf("\n"); } 解法2: #defineN11 main() {inta[N],i,t; for(i=0;i scanf("%d",&a[i]); for(i=0;i<=N/2-1;i++) /*N为奇数偶数均可*/ {t=a[i]; a[i]=a[i+(N+1)/2]; a[i+(N+1)/2]=t;/*交换对应元素的值*/ } for(i=0;i printf("%d,",a[i]); printf("\n"); } 10、从键盘输入100个数存入一维数组中,求其和与平均值并输出。 #defineN100 main() {floata[N],s,p; inti; s=0; for(i=0;i {scanf("%f",&a[i]); s=s+a[i]; } p=s/N; printf("s=%f,p=%f\n",s,p); } 11、从键盘输入一批正数存入一维数组中(以-1为结束标记),求其和与平均值并输出。 解法1: #defineN200 main() {floata[N],s,p; intn=0; s=0; while (1) {scanf("%f",&a[n]); if(a[n]==-1)break; s=s+a[n]; n++; } p=s/n; printf("s=%f,p=%f\n",s,p); } 解法2: #defineN200 main() {floata[N],s,p; intn=0; s=0; scanf("%f",&a[n]); while(a[n]! =-1) {s=s+a[n]; n++; scanf("%f",&a[n]); } p=s/n; printf("s=%f,p=%f\n",s,p); } 12、从键盘输入10个数,用选择法按降序排序并输出。 解法1: main() {inta[10],i,j,t; for(i=0;i<=9;i++) scanf("%d",&a[i]); for(i=0;i<=8;i++) {for(j=i+1;j<=9;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 应用 程序设计