c语言练习39——向数列中插入一个数

#include<stdio.h>
#include<stdlib.h>
/*题目:一个数如果恰好等于除开它本身外的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数*/
int main()  {
    system("color 1F");  // 设定显示框为蓝底白字
    system("mode con cols=80 lines=30");  //固定显示框尺寸
/******************************************程序主体分割线(顶部)*************************/
int num,i,j,k,l; 
int a[100];
while(1){
char ch;
for(i=0;i<=100;i++){
    printf("请输出第%d个数字或按字母O结束输入",i+1);
    scanf("%d",&a[i]);
    ch=getchar();
    if(ch=='o')
    break;
}
l=i;
printf("\n请输入需要插入的数:");
scanf("%d",&num);
if(a[0]<a[l]){
    for(j=0;j<=i;j++)
        if(a[j]>=num){
        break;}
    for(k=l+1;k>j;k--) 
        a[k]=a[k-1];
}
else {
    for(j=0;j<=i;j++)
        if(a[j]<=num){
        break;}
    for(k=l+1;k>j;k--) 
        a[k]=a[k-1];
}        
a[j]=num;
printf("\n新的顺序为:\n");
for(i=0;i<=l;i++)
    printf("%d ",a[i]);
printf("\n----------------------------------------------------------------------------\n");

}

/******************************************程序主体分割线(底部)***************************/
    return 0;
}            

猜你喜欢

转载自www.cnblogs.com/gougouwang/p/11470105.html