偶刚开始接触,感觉自己太笨了. 希望有人能相帮一下.题目是:
一、 输入N(不大于20)个单精度存入一维数组,用指针变量处理数组元素的方法将其逆序存放后在解出,N以键盘输入。
二、 求3*5整数矩阵中的最大元素,最小元素,所有元素的平均值。(要求用指向二维数组首地址的指针变量二维数组排列方式处理二维数组元素)
三、 有N个小孩子,按顺时针方向围成一个圆。老师指定从第一个小孩开始报数,按顺序1,2,3…… 数到N个小孩时,该小孩子退到圈外,然后从编号为N的下一个小孩子开始报数。如此重复下去,直到所有小孩都出列,求小孩的出列顺序。
1.用链表处理
2.N和M用键盘输入。
3.分别用3个函数创建一个链表的求解。完成的求解用链表输出小孩的出列顺序。
4.在主函数中调用上面的函数。
先谢谢了!!!
[此贴子已经被作者于2004-06-09 22:11:40编辑过]
----------------解决方案--------------------------------------------------------
题目不难,最主要是要学会怎么运用指针,给你举个例子:
第一题:
float *p,s[20],t[20]; //定义一个单精度指针
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)scanf("%f",&s[i]); //输入浮点数到数组中
p=s; //指针p指向数组s
for(i=n-1;i>=0;i--)printf("%f ",*(p+i)); //逆序输出
----------------解决方案--------------------------------------------------------
那第二和第三呢????求救啊!!
----------------解决方案--------------------------------------------------------
对了,可不可以完整点的写出来给我看下呀!!
----------------解决方案--------------------------------------------------------
自己写才会有收获啊,如果都让别人做了那你会得到什么呢?
----------------解决方案--------------------------------------------------------
晕!!自己不会写。 5555……
----------------解决方案--------------------------------------------------------
我自己按照你的例子大楷的写了一个。
还麻烦你看看对不对咯。
main() { float *p,s[20],t[20]; int n,i; printf("input string:"); scanf("%d",&n); for(i=0;i<n;i++)scanf("&f",&s[i]); p=s; for(i=n-1;i>=0;i--)printf("%f",*(p+i));
}
[此贴子已经被作者于2004-06-09 22:14:02编辑过]
----------------解决方案--------------------------------------------------------
那第二和第三题也能不能给我点提示啊??
----------------解决方案--------------------------------------------------------
第二题
定义一个二维数组s[3][5],定义一个指针**p,让指针指向s,p=s;
其余就不是指针的内容了:)
第三题
定义一个链表
typedef struct student
{ int data;
struct student *next;
}STU;
定义二个STU类型的指针STU *p,*q;
动态创建孩子链表
p=q;
for(i=o;i<N;i++)
{ p=(STU *)malloc(sizeof(STU));
p->data=i;
p->next=q;
q=p;
} //最主要这是一个循环链表,其余的自己也动脑筋想想吧
----------------解决方案--------------------------------------------------------
晕!!!这提示能不能再详细点!!都不知道怎么用咯!
----------------解决方案--------------------------------------------------------