鸡兔同笼问题 分析过程:
刚做出来的只能输入一个数字进行判断;
后来仔细看了题目
发现题目要求输入一系列数组
就想着用循环,还是不符合题目要求
又想着用动态数组,又看到了链表,以前学的链表,现在竟然忘的差不多了,回忆了一下,慢慢想起来了,
又再仔细看了一遍题目,苍天啊,我审题怎么这么不严谨。。
简单的题目做了好几个小时,囧
题目已经明确规定了第一个输入的数字是数组的大小,我还在纠结链表,扑哧。。。
于是赶紧想了下如果定义动态数组,用到了malloc。。。动态数组的定义这里也走了一些弯路。
这里将动态定义数组好好总结一下:
malloc 向系统申请分配指定size个字节的内存空间,返回类型为void* ,void*表示未确定类型的指针。
使用举例说明:
比如我想将用户的输入数据放到一个数组,因为我不知道用户会输入多少个数,所以我就不知道这个数组定义多大为好
但是我可以让用户先输入自己的数组里面放多少个数,比如说n,然后再定义动态数组
int n;
scanf("%d",&n);
int *a=(int *)malloc(n*sizeof(int));//定义动态数组 相当于int a[n]
a就是数组名,也是一个整型的指针,指向的是申请的这段空间的首地址。接下来就可以将用户输入的数据存放到这个数组中。