『壹』 急求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]="