當前位置:首頁 » 編程語言 » c語言編程插入程序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編程插入程序

發布時間: 2022-07-28 05:29:21

❶ 用c語言編寫程序實現順序表的插入操作,並且從鍵盤讀取元素給順序表初始化。(要求用VC++工具編寫)

在你的基礎上改的
#include<stdio.h>
#include<stdlib.h>

#define LISTSIZE 100
#define ADD 10
typedef struct {
int *elem;
int length;
int listsize;
}List;//定義線性表的結構體
void SqList(List &L)
{

//int i;//C++中C程序的變數定義放在開始

L.elem=(int *)malloc(LISTSIZE*sizeof(int));
if(!L.elem) exit(0);
L.listsize=LISTSIZE;
//printf("請輸入線性表長度:");
//scanf("%d",&L.length);
//printf("為線性表賦值:");
//for(i=0;i<=L.length-1;i++)
//scanf("%5d",&L.elem[i]);
L.length =0;//如果是初始化,那麼長度就是0
}//初始化線性表

int InsertSq(List &L,int i,int e)
{
int *p=NULL, *q=NULL;//所有變數的定義都必須置前
if(i<0||i>L.length+1) return 0;
if(L.length>=L.listsize)
{
int *newbase;
newbase=(int *)realloc(L.elem,(L.listsize+ADD)*sizeof(int));
if(!newbase) exit(0);
L.elem=newbase;
L.listsize+=ADD;
}

q=&L.elem[i-1];
for(p=&L.elem[L.length-1];p>=q;--p)
*(p+1)=*p;
*q=e;
L.length++;
return 1;
}//在線性表的第i個元素之前插入元素e

void PrintList(List L)
{
printf("順序表中的元素:\n");
for(int k=0;k<=L.length-1;k++)
printf("%5d",L.elem[k]);
printf("\n");
}

void main()
{

//void SqList(List &L);
//int InsertSq(List &L,int i,int e);使用之前已經定義了,可以不用函數說明
List L;
int i,e; //函數調用前,變數必須定義

SqList(L);
printf("輸入順序表中元素的個數:");
scanf("%d",&i);

printf("請輸入元素:");
for(int j=1;j<=i;j++)
{
scanf("%d",&e);
InsertSq(L,j,e);
}

PrintList(L);
printf("輸入插入的元素及其位置:");
scanf("%5d%5d",&e,&i);
InsertSq(L,i,e);
PrintList(L);
}

❷ C語言編程:有一個已排好序的數組,現輸入一個數插入到數組中,要求插入該數後數組元素仍然有序

#include <stdio.h>
main(){
int a[100],n=10,i,j,x;
/*輸入10個數*/
for (i=0;i<n;i++) scanf("%d", &a[i]);
/*輸入1個數*/
scanf("%d",&x);
/*找到需要插入的位置j*/
for (i=0;i<n;i++) if (a[i]<x) j=i+1;
/*把j之後的數據後移*/
for (i=n;i>j;i--) a[i]=a[i-1];
/*插入數據*/
a[j]=x;
/*輸出結果*/
for (i=0;i<=n;i++) printf("%d\t", a[i]);
}

❸ C語言編程 排序並插入

寫個樣例給你看看吧

#include<stdio.h>

intmain()
{
intn,a[11],i,j,t,v;
//scanf("%d",&n);
scanf("%d",&a[0]);//輸入第一個數
for(i=1;i<9;++i){//剩下的八個
scanf(",%d",&a[i]);
}
n=9;
for(i=0;i<n;++i){//選擇排序
t=i;
for(j=i+1;j<n;++j){
if(a[t]>a[j])t=j;
}
if(t!=i){
v=a[t],a[t]=a[i],a[i]=v;
}
}
scanf("%d",&v);//要插入的數
for(i=n-1;i>=0;--i){
if(a[i]>v){
a[i+1]=a[i];
}
elsebreak;
}
++i;//插入位置
a[i]=v;
n++;
for(i=0;i<n;++i){//輸出
if(i==0)printf("%d",a[i]);
elseprintf(",%d",a[i]);
}
printf(" ");
return0;
}

❹ 用C語言編寫一個在字元串中插入一個字元的程序

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#defineN100

voidInsert(char*s);

intmain()

{

charstr[N];

printf("Inputastring:");

gets(str);

Insert(str);

printf("Insertresults:%s ",str);

return0;

}

voidInsert(char*s)

{

charstr[N];

char*t=str;

strcpy(t,s);

for(;*t!='';s++,t++)

{

*s=*t;

s++;

*s='';

}

*s='';/*在字元串s的末尾添加字元串結束標志*/

}

(4)c語言編程插入程序擴展閱讀

C語言通過定義一個char類型的二維數組實現,通過二維數組的行索引可得到數組中的每個字元串,列的大小限定了每個字元串所能包含的最大字元個數,所以採用這種定義方式時,列的大小必須不能小於數組所有字元串的最大長度。

C語言編程定義一個字元串的數組:

str={

「IloveC.」,

「IloveC++.」,

「IloveJAVA.」,

「IlovePython.」,

「IloveLabVIEW.」

}

❺ 在c語言中,將一個數插入一個數組中的程序怎麼寫

有一個已排好序(從大到小)的數組有5個元素,從鍵盤輸入一個數,要求按原排序的規律將它插入到數組中
1.#include<stdio.h>void main({int i,x,j;int {1,5,10,15,20};scanf("%d",&x);for(i=0;i<5;i++) if(x<a[i])

2.j=i; /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷循環。比當前數大時繼續下一個(小應當在左側,大則在右側) */

3.break; for(i=5;i>=j;i--)
a[i+1]=a[i]; /*將位置j以後的數據都向後移一位*/a[i+1]=x; /*

4. 把要插入的數x放到a[i]中,因為i--後 i 比實際要插入的位置少1,所以真正插入的位置應該i+1*/

5.for(i=0;i<=5;i++) /*這時一共有6個數*printf("%d ",a[i]);

❻ 使用C語言編寫程序,實現順序表的基本運算——插入和刪除。

typedef struct
{
int *elem;
int length;
int listsize;
} Sqlist;
status Create_sq(Sqlist *L,int n)
{
int i;
L->elem=(int*)malloc(100*sizeof(int));
if(!L->elem) return 0;
for(i=0;i<n;i++)
scanf("%d",&(L->elem[i]));
L->length=n;
L->listsize=100;
return 1;
}
status Listinsert_sq(Sqlist *L,int i,int e)
{
int *q,*p,*newbase;
if(i<1||i>L->length+1) return 0;
if(L->length>=L->listsize)
{
newbase=(int*)realloc(L->elem,(L->listsize+10)*sizeof(int));
if(!newbase) exit(-2);
L->elem=newbase;
L->listsize+=10;
}
q=&(L->elem[i-1]);
for(p=&(L->elem[L->length-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++L->length;
return 1;
}
int main()
{
Sqlist L1;
int n,a;
int i,e;
printf("\n please input the number of data:\n");
scanf("%d",&n);
if(Create_sq(&L1,n)==1)
{
scanf("%d%d",&i,&e);
a=Listinsert_sq(&L1,i,e);
if(a==1)
printf("insert success\n");
else printf("insert false\n");
printf("the list elements are:\n");
for(i=1;i<=L1.length;i++)
{
printf("%d\t",L1.elem[i-1]);
}

}
return 0;
}