‘壹’ 急求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]="