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

c語言相關的表

發布時間: 2022-08-21 21:35:24

『壹』 急求C語言中的格式字元表

1.%d格式符。它的作用是將其對應的表達式的值按照十進制整數方式輸出。

(2)%md格式符。它的作用是按照m指定的寬度進行輸出。

(3)%ld格式符。它的作用是將其對應的表達式的值按照長整數方式輸出。

(4)%mld格式符。這個格式符的作用和上面的作用一樣。

2.%o格式符。它的作用是將其對應的表達式的值按照八進制整數方式輸出。

3.%x格式符。它的作用是將其對應的表達式的值按照十六進制整數方式輸出。

4.%u格式符。它的作用是將其對應的表達式的值按照十進制無符號整數方式輸出。

5.%c格式符。它的作用是將其對應的表達式的值按照字元方式進行輸出。

6.%s格式符。它的作用是輸出一個字元串。

7.%f格式符。它的作用是將其對應的表達式的值按照實數方式進行輸出。

8.%e格式符。它的作用是將其對應的表達式的值按照指數方式進行輸出。

9.%g格式符。它的作用是將其對應的表達式的值按照實數與指數方式中較短的一種方式進行輸出。

10.%%格式符。它的作用是輸出一個百分號。

『貳』 C語言順序表!

void error(char * message)
{
fprintf(stderr,"error:%s\n",message);
exit(1);
}
#define listsize 100
typedef int datatype;
typedef struct
{
datatype data[listsize];
int length;
}seqlist;
void initlist(seqlist * L)
{
L->length=0;
}

int insertlist(seqlist *L,datatype x,int i)//不知道你想實現什麼 所以這個地方改不了
{
int j;
if(i<1||i>L->length+1)
error("position error");
if(L->length>listsize)
error("overflow");
for(j=L->length-1;j>=i-1;j--)
{
L->data[j+1]=L->data[1];
}
L->data[i-1]=x;
L->length++;
return x;//只能有一個返回值
}
void main()
{
int x,i;
seqlist * l;
l=(seqlist *)malloc(sizeof(seqlist));
initlist(l);
scanf("%d,%d",&x,&i);
insertlist(l,x,i);
}
錯誤是改完了 最好說明補充一下你的程序 否則後面不知道怎麼改

『叄』 C語言順序表求解

#include <stdio.h>

#include <stdlib.h>

//malloc函數需要引入stdlib.h

#define OK 0

#define ERROR -1

//自定義宏

typedef struct

{

int data[10];//向量data用於存放表結點

int length;//當前的表長度

}SeqList;//結構體類型

//結構體定義沒有任何問題

int InsertList(SeqList *L,int x,int i){

//SeqList類型參數一定要引用地址!!否則任何插入操作均無效!!參考形參與實參的關系

int j;

if((i<1)||(i>(*L).length+1)) return ERROR;

//將新結點 x插入L所指的順序表的第i個結點ai的位置上

if(i>=10) return ERROR;

//非法位置,退出運行

for(j=(*L).length-1;j>=i-1;j--){

(*L).data[j+1]=(*L).data[j];

}

(*L).data[i-1]=x;

//這里循環將後面的數據依次向後挪動,最後把帶插入的數據插入到指定位置

(*L).length=(*L).length+1;

//修改長度

return OK;

}

//表空間溢出,退出運行

//結點後移

//插入x

//表長加1

int DeleteList(SeqList *L,int i)//引用地址!!!!

{

int j;

if(i<1 || i>(*L).length-1) return ERROR;

//從L所指的順序表中刪除第i個結點ai

if(i>10) return ERROR;

//非法位置

for(j=i-1;j<=(*L).length-1;j++){

(*L).data[j]=(*L).data[j+1];

}

//結點前移

(*L).length=(*L).length-1;

//表長減1

return OK;

//同理參考插入操作

}

void main(){

SeqList *list = NULL;//定義指針類型!!!!

int i;

int value;

for(i=0;i<5;i++){

scanf("%d",&value); //輸入順序表的結點

if(list == NULL)

list = (SeqList *)malloc(sizeof(SeqList));

//你自己定義的結構體當然要自己開辟內存空間

(*list).data[i] = value;

}

(*list).length=5;

for(i=0;i<(*list).length;i++)

printf("%d ",(*list).data[i]); //輸出順序表

printf(" ");

if(InsertList(list,0,3)==OK)//插入0到第3個位置

for(i=0;i<(*list).length;i++)

printf("%d ",(*list).data[i]);

//你得先判斷插入操作是否成功了才能列印信息!!!!!

printf(" ");

printf("%d ",(*list).length);

if(DeleteList(list,3)==OK)//刪除第3個位置的結點

for(i=0;i<5;i++)

printf("%d ",(*list).data[i]);

//你得先判斷刪除操作是否成功了才能列印信息!!!!!

printf(" ");

printf("%d ",(*list).length);

}

『肆』 C語言中表,樹,棧是什麼

都是數據結構

其中棧包括在表裡,因為表中有線性表。線性表分為棧(後進先出)和隊列(先進先出),而樹是一種區別於表的數據結構,有時將其歸於圖的范疇,特別要注意二叉樹並不是樹,這些數據結構都是基本功,不光學習C語言的人要會,任何學習編程的人都要掌握

『伍』 C語言線性表

struct node {
int k1;

node *next;

};
void main() {
int pi =0;
int c=0;
scanf("%d",&pi);
scanf("%d",&c);
node *p, *k;
int kj=1;
p = (node *)malloc(sizeof(node));
p->k1=kj;
kj++;
k = p;
for (int j = 0; j < pi - 1; j++) {
k->next = (node *)malloc(sizeof(node));
k->next->k1=kj;
kj++;
k = k->next;
}
k->next = p;
int o = 0;
while (p != p->next) {
o++;
if (o % c == 0) {
k->next = p->next;
} else {
k = k->next;
}
p = p->next;
}
printf("%d\n",p->k1);

}

『陸』 C語言鏈表相關

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#defineMAXSIZE100

typedefstructnode{
charname[21];
intnumber;
charsex;
structnode*next;
}linklist;

linklist*CreateList(){
charname[21]="";
linklist*head,*p;
p=head=(linklist*)malloc(sizeof(linklist));//這是頭結點
scanf("%s",name);
while(name[0]!='#'){
p->next=(linklist*)malloc(sizeof(linklist));
strcpy(p->next->name,name);
scanf("%d",&p->next->number);
scanf("%c",&p->next->sex);
p=p->next;
fflush(stdin);
scanf("%s",name);
}
p->next=NULL;
returnhead;
}

voidDelete(linklist*head,linklist*t){
linklist*p=head->next;
while(p)p=p->next;
p->next=t->next;
free(t);
}

linklist*Locate(linklist*head,intnum){
linklist*p=head->next;
while(p){
if(p->number==num)returnp;
p=p->next;
}
returnNULL;
}

voidOutput(linklist*head){
linklist*r=head->next;
while(r){
printf("%s%d%c ",r->name,r->number,r->sex);
r=r->next;
}
}

intmain(void){
intnum;
linklist*L;
linklist*p;
printf("輸入學生信息:");
L=CreateList();
Output(L);
fflush(stdin);
printf("輸入要刪除學生的學號:");
scanf("%d",&num);
p=Locate(L,num);
if(p==NULL){
printf("No ");
return1;
}
else{
Delete(L,p);
Output(L);
}
return0;
}

『柒』 用C語言編寫一個有關順序表的程序代碼

#include<stdio.h>
#include<stdlib.h>

#define Size 50

//定義順序表結構體類型

typedef struct Table{
int*head;//順序表頭指針,為整型
int length;//順序表中元素個數
int size; //順序表的長度
}Table;

//創建順序表
Table CreateTable(){
Table T;
if(!(T.head=(int*)malloc(Size*sizeof(int)))){
printf("內存分配錯誤!\n");
exit(0);
}

T.size=Size;
T.length=0;
return T;
}

//增加
void Insert(Table T,int set,int values)//set為插入的位置,values為值
{
//首先判斷插入位置是否正確
if(set<0||set>T.length){
printf("插入位置不正確!\n");
reutrn;
}

//判斷是否有足夠的內存空間存儲增加的數
if(T.length==T.size){
if(!(T.head=(int*)realloc(T.head,(T.size+10)*sizeof(int)))){
printf("內存分配錯誤!\n");
exit(0);
}
T.size+=10;
}

//插入數據
for(int i=s.length;i>set;i--)
T.head[i]=T.head[i-1];

T.head[set]=values;
T.length++;
}

//刪除
void Delete(Tabel T,int set)
{
if(set<0||set>=T.length)
{
printf("刪除數的位置不爭確,刪除失敗!\n");
return;
}

//輸出數據
for(int i=set;i<s.length;i++)
T.head[i]=T.head[i+1];
T.length--;
}

//查找
int Search(Tabel T,int value)
{
for(int i=0;i<T.length;i++)
if(T.head[i]==value)
return i;
return -1;
}

『捌』 C語言編寫線性表相關的

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int ElemType;
//typedef struct
//{
// Elemtype *list;
// int size;
// int maxsize;
//}SqList;typedef struct List
{
ElemType *list;
int size;
int maxsize;
}List,*SqlList;typedef struct sNode
{
ElemType data;
struct sNode *next;
}sNode,*LinkList;int InitList_Sq(List &L)
{
L.list=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.list)
exit(OVERFLOW);
L.size=0;
L.maxsize=LIST_INIT_SIZE;
return OK;
}int ListInsert_Sq(List &L,int i,ElemType e)
{
ElemType *p,*q,*newbase;
if(i<1||i>L.size+1)
return ERROR;
if(L.size>=L.maxsize)
{
newbase=(ElemType *)realloc(L.list,(L.maxsize+LISTINCREMENT)*sizeof(ElemType));
if(!newbase)
exit(OVERFLOW);
L.list=newbase;
L.maxsize+=LISTINCREMENT;
}
q=&(L.list[i-1]);
for(p=&(L.list[L.size-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++L.size;
return OK;
}int ListDelete_Sq(List &L,int a,int b) /*刪除*/
{
ElemType *x,*y;
int j=0;
while(j<L.size)//j<i-1
{
if(L.list[j]>=a&&L.list[j]<=b)
{
x=&(L.list[j]);//要刪除的數
y=L.list+L.size-1;
for(++x;x<=y;++x)
*(x-1)=*x;
--L.size;
}
else
++j;
}
/*if(!p||j>i-1)
return ERROR;*/ /*int i;
ElemType *p;
if(i<1||i>L.size)
return ERROR;
p=&(L.list[i-1]);
e=*p;
q=L.list+L.size-1;
for(++p;p<=q;++p)
*(p-1)=*p;
--L.size;*/
return OK;
}
int ListDestory_Sq(List &L)
{
free(L.list);
L.size=0;
return OK;
}int InitList_Link(LinkList &L,int n)
{
int i;
LinkList p;
L=(LinkList)malloc(sizeof(sNode));
L->next=NULL;
/*for(i=n;i>0;--i)
p=(LinkList)malloc(sizeof(sNode));
scanf("%d",&p->data);
p->next=L->next;
L->next=p;*/
return OK;
}int ListInsert_Link(LinkList &L,int i,ElemType e)
{
LinkList p=L,s;
int j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i-1)
return ERROR;
s=(LinkList)malloc(sizeof(sNode));
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}
int ListDelete_Link(LinkList &L,int i,ElemType &e)
{
LinkList p=L,q;
int j=0;
while(p->next&&j<i-1)
{
p=p->next;
++j;
}
if(!(p->next)||j>i-1)
return ERROR;
q=p->next;
p->next=q->next;
e=q->data;
free(q);
return OK;
}
int ListDestory_Link(LinkList &L)
{
LinkList p,r=L;
p=L->next;//L為頭結點
while(p)
{
r->next=p->next;
free(p);
p=r->next;
}
return OK;
}int CountEqualx(LinkList L,int x)
{
int sum=0;
LinkList p;
p=L->next;//L為頭結點
while(p)
{
if(p->data==x)
sum++;
p=p->next;
}
return sum;
}int SelectMax(LinkList L)
{
int max;
LinkList p=L->next;
if(p)
{
//p=L->next;//L為頭結點
max=p->data;
while(p)
{
if(p->data>max)
max=p->data;
p=p->next;
}
return max;
}
else
{
printf("\n鏈表為空!\n");
exit(1);
}

}int main()
{
int i,j,a,b,x;
List L;
LinkList Link,p;
ElemType e; //順序表操作
InitList_Sq(L);
for(i=0;i<10;i++)
ListInsert_Sq(L,1,i);//在第1個位置插入i
printf("\n順序表刪除前: ");
for(i=0;i<L.size;i++)
printf("%d ",L.list[i]);
printf("\n輸入a的值:\na=");
scanf("%d",&a);
printf("\n輸入b的值:\nb=");
scanf("%d",&b);
ListDelete_Sq(L,a,b); //刪除大於等於a 小於等於b的數

printf("\n順序表刪除後: ");
for(i=0;i<L.size;i++)
printf("%d ",L.list[i]);
printf("\n"); //鏈表操作

InitList_Link(Link,10);
for(i=0;i<10;i++)
ListInsert_Link(Link,1,i);//在第1個位置插入i

printf("\n鏈表最大元素為:%d\n",SelectMax(Link));
printf("\n輸入x:");
scanf("%d",&x);
printf("\n鏈表中元素等於x的值有%d個\n",CountEqualx(Link,x));
printf("\n鏈表刪除前: ");
p=Link->next;//L為頭結點
while(p)
{
printf("%d ",p->data);
p=p->next;
} printf("\n刪除第幾個元素:");
scanf("%d",&x); ListDelete_Link(Link,x,e);
printf("\n鏈表刪除後: ");
p=Link->next;//L為頭結點
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n鏈表刪除的元素為: %d\n",e);
ListDestory_Sq(L);
ListDestory_Link(Link);
system("pause");
return 0;
}