已知整型数组a中有若干元素的值为零,编写函数int func(int *a, int n),将a中的零移至数组后面,非零整数移至数组前面并从小到大排序。形参n表示数组中元素的个数,函数返回原数组中第一个值为零的元素的下标。在main函数中调用该函数。
2条回答 默认 最新
- fuill 2021-12-20 20:48关注
#include <stdio.h> int func(int *a, int n) { int j,k,h=n-1; int pos=-1; for(j=0;j<n;j++) { if(a[j]==0) { pos=j; break; } } for(j=0;j<h;j++) { if(a[j]==0) { a[j]=a[h]; a[h]=0; h--; } } j=0; while(j<h-1) { k=0; while(k<h-1) { if(a[k]>a[k+1]) { int tem=a[k]; a[k]=a[k+1]; a[k+1]=tem; } k++; } h--; } return pos; } int main() { int n=10; int j; int t[10]= {3,6,6,0,7,2,5,9,0,1}; for(j=0; j<n; j++) { printf("%d ",t[j]); } printf("\n"); printf("\n%d\n",func(t,n)); for(j=0; j<n; j++) { printf("%d ",t[j]); } printf("\n"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 2
悬赏问题
- ¥15 乌班图ip地址配置及远程SSH
- ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
- ¥15 PSPICE制作一个加法器
- ¥15 javaweb项目无法正常跳转
- ¥15 VMBox虚拟机无法访问
- ¥15 skd显示找不到头文件
- ¥15 机器视觉中图片中长度与真实长度的关系
- ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
- ¥15 java 的protected权限 ,问题在注释里
- ¥15 这个是哪里有问题啊?