问题描述
- c语言程序问题,求一段代码
-
求一段c语言代码:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将其插入数组中
解决方案
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i;
cout<<"原来数列为:"<<endl;
int a[11]={1,2,3,5,6,7,8,9,10,11};
for(i=0;i<=8;i++)
{
cout<<setw(5)<<a[i];
}
int j,k,num;
cout<<endl<<"请输入一个整数:"<<endl;
cin>>num;
if(num>a[9])
{
a[10]=num;
}
else
{
for(i=0;i<=9;i++)
{
if(a[i]>num)
{
for(j=9;j>=i;j--)
{
a[j+1]=a[j];
}
a[i]=num;
break;
}
}
}
cout<<"新数列为:"<<endl;
for(i=0;i<=9;i++)
{
cout<<setw(5)<<a[i];
}
cout<<endl;
return 0;
}
解决方案二:
这样?
#include<stdio.h>
#define ARR_NUM 10
int main()
{
int arr[ARR_NUM+1] = {1,5,7,8,9,10,20,21,25,55},i,j,temp;
printf("插入数据前:");
for(i = 0; i < ARR_NUM; i++)
printf("%d ", arr[i]);
printf("n输出要插入的数据:");
scanf("%d", &temp);
for(i = 0; i < ARR_NUM; i++)
{
//找到了要插入的数据的位置
if(arr[i] > temp)
{
for(j = ARR_NUM; j > i; j--)
arr[j] = arr[j - 1];
arr[j] = temp;
break;
}
}
//要插入的数据比当前数组中的所有数字都大
if(i == ARR_NUM)
arr[ARR_NUM] = temp;
printf("插入数据后:");
for(i = 0; i < ARR_NUM + 1; i++)
printf("%d ", arr[i]);
printf("n");
}
计算器程序代码">
时间: 2024-11-01 13:22:06