1 #include <stdio.h> 2 #include <stdlib.h> 3 4 typedef struct LinkNode //单链表节点结构的定义 5 { 6 int data; 7 struct LinkNode *next; 8 }LinkNode; 9 10 void InitLinkList(LinkNode * &L) 11 { 12 /*单链表的初始化*/ 13 L = (LinkNode*)malloc(sizeof(LinkNode)); 14 L->next = NULL; 15 } 16 17 void CreateLinkList(LinkNode *&L, int n,int *num) 18 { 19 /*采用尾插法创建单链表*/ 20 LinkNode* r = L; 21 for (int i = 0; i < n; ++i) 22 { 23 LinkNode * p =(LinkNode*)malloc(sizeof(LinkNode)); 24 p->data = num[i]; 25 p->next = r->next; 26 r->next = p; 27 r = p; 28 } 29 } 30 31 32 int main(int argc, char const *argv[]) 33 { 34 /*int n = 5; 35 int num[]={1,2,3,4,5};*/ 36 int n, p; 37 int *num; 38 39 scanf("%d",&n); 40 num =(int*)malloc(n*sizeof(int)); 41 42 for (int i = 0; i < n; ++i) 43 { 44 scanf("%d",&num[i]); 45 } 46 47 scanf("%d",&p); 48 49 LinkNode *L; 50 InitLinkList(L); 51 CreateLinkList(L,n,num); 52 53 if (p>0&&p<n) 54 { 55 printf("ok"); 56 } 57 else 58 { 59 printf("error"); 60 } 61 62 return 0; 63 }
注:实际上对于这道题,代码中好多部分都是多余的,亲测下面的代码也能AC
1 #include<stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int n,p; 6 int *num; 7 scanf("%d",&n); 8 num =(int*)malloc(n*sizeof(int)); 9 for (int i = 0; i < n; ++i) 10 { 11 scanf("%d",&num[i]); 12 } 13 scanf("%d",&p); 14 if (p<n&&n>0) 15 { 16 printf("ok"); 17 } 18 else 19 { 20 printf("error"); 21 } 22 return 0; 23 }
原文:https://www.cnblogs.com/Ghost4C-QH/p/10492202.html