先解释输出数组的这个函数
void PrintArr(int a[], int n) {
int i;
for (i = 0; i < n; i++) {
if (i < n - 1)//这行代码的意思是 如果不是数组的最后一项
printf("%d ", a[i]);
else if (i == n - 1)
printf("%d", a[i]);
}
}
为啥不能用一下写法?
void PrintArr(int a[], int n) {
int i;
for (i = 0; i < n; i++) {
printf("%d", a[i]);
}
}
其实是样的 但是上面的是每个数字之间有空格 能符合要求的格式
#include<stdio.h>
void PrintArr(int a[], int n) {
int i;
for (i = 0; i < n; i++) {
if (i < n - 1)//这行代码的意思是 如果不是数组的最后一项
printf("%d ", a[i]);
else if (i == n - 1)
printf("%d", a[i]);
}
}
int insert(int a[ ],int n,int num){
int i;
for(i=n-1;i>=0;i--){//循环n次 遍历数组全部元素
if(a[i]>num)
a[i+1]=a[i];//要是 有一项大大于了num 那后一项就等于这一项 因为他本来这一项被num挤占了
return 0;
}
int main(){
int n,i,num,a[1005];
scanf("%d",&n);
for(i=0;i<n;i++){//从零开始遍历
scanf("%d",&a[i]);
}
scanf("%d",&num);
insert(a,n,num);
PrintArr(a,n+1);
return 0;
}