能力值:
( LV2,RANK:10 )
|
-
-
2 楼
沙发也没人坐 我来
再向后我会继续将一系列例题放入这个贴子
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
顶一个,有问题一定想到你
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
有小题目源程序的也发过来啊 让我们有更多的读程序学习的机会
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我改了改就成线性表插入操作了
for(i=n;i>t;i--)
a[i]=a[i-1];
a[t]=m;
n=n+1;
这是原程序中的删除部分那位改成上面的就成插入操作了,不过插入的数值m要你另外输入
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
线性表练习题2
N个猴子站成一排报数,报数为1的出列;继续报数至最后剩下的为猴王。
/* M个猴子站一排报数N选猴王问题,去掉报数时报1的猴子 */
#include <stdio.h>
int a[100]; /* 设定数据输入范围 100 */ int ddel(int m1,int n1)
{
int x,i,j;
d1:;
a[0]=0;
for(i=1;i<=m1;i++)
{
x=i%n1;
if(x==0) a[i]=0; /* 对数组中报数合条件者打标记0 */
printf("a[i-1]=%d i=%d\n",a[i-1],i);
}
for(i=0;i<m1;i++)
{
if(a[i]==0)
{for(j=i;j<m1;j++) /* 删标0的数组元素 后面值放前一位 */
{a[j]=a[j+1];printf("a[j]=%d j=%d\n",a[j],j); }
m1--; } /* 删一个元素 总长减一 */
else
printf("m1=%d a[4]=%d\n",m1,a[4]); /* 检查测试m1是否合要求 */
}
if(m1>=n1) goto d1; /* 一队完成,回头重新报数 */
return m1;
} int main()
{
int m,n,i,x;
scanf("%d%d",&m,&n); /* 输入猴子数m<=100 报数数值n<=100 */
for(i=1;i<=m;i++) a[i-1]=i; /* 对数组a[m]赋值即猴子的编号 */
printf("%d\n%d\n",m,n);
x=m/n;
printf("%d\n",x);
if (x!=0) /* 判断是否选出猴王 */
getchar();
m=ddel(m,n); /* 删除不是猴王的数组元素 */
printf("%d\n",m);
getchar();
for(i=0;i<=m-1;i++) /* 对选出的猴王编号进行输出 */
printf("%d",a[i]);
getchar();
}
若题目改一下:改成站一个圈,有哪位来改改这个源程序啊!!??
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
若题目改一下:改成站一个圈,有哪位来改改这个源程序啊!!?? 一个动归!
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
始学者的努力是大家要学习的,所以我们共同努力@@@@
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
谢谢楼上的支持
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
顶一个 不过不打算C++了 直接汇编
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
有想法啊, 不过我觉得都得学一下才行, 毕竟汇编不能很容易的制作东东!!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
飞云兄!狂**!我以后保证每次都做!
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
虽然看不太懂 还是要谢谢楼主分享
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
这个贴对初学者有用 高手要闪过了 呵呵
谢谢支持! 我会继续放入题目的
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
还是要多练习啊~~
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
这是我一同事上课时留在教师机上的 发来给大家借鉴
例题3, 已知一元二次方程组系数,用C写出求解程序.
/* 一元二次方程求解 */
#include "stdio.h"
#include "math.h"
int main()
{
freopen("matches.out","w",stdout);
int a,b,c;
float x1,x2,t; /* t 表示的儿塔 x1 x2为方程两个解 */
scanf("%d%d%d",&a,&b,&c);
t=b*b-4*a*c;
printf("t=%f\n",t);
if(t>0.0)
{
x1=(-b+sqrt(t))/(2*a);
x2=(-b-sqrt(t))/(2*a);
printf("t>0\n");
}
else if(t==0.0) /* 学生易把=号只写一个 */
{
x1=-b/(2*a);
x2=x1;
printf("t=0\n");
}
else if(t<0.0)
printf("t<0 No anwser!");
printf("x1=%f\nx2=%f\n",x1,x2);
} 纯为提供初学者参阅 , 高手们飘过了 !
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
主要是不熟练
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
环形表分析
分析:要解决这问题,首先需要构造一个环表,构造环的方法很简单,只要存储每个人的下一个即可,当然,最后一个人的下一个就是第一个人,这样就构成了一个环,构造环以后,就可进行删除操作,直到环剩下一个人为止。
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
虽然看不太懂 还是要谢谢楼主分享
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
一起学习,一起进步!
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
请高手指正我哪里错了!!! 输出结果不对!!!!!
#include <stdio.h>
int a[100]; /* 猴子的取值范围 */
int main()
{
int m,n,i,x=0,j,y;
scanf("%d%d",&m,&n); /* 输入猴子数m<=100 报数数值n<=100 */
for(i=1;i<=m;i++) a[i-1]=i; /* 对数组a[m]赋值即猴子的编号 */
printf("m=%d\nn=%d\n",m,n);
freopen("out.txt","w",stdout);
dd:;
if (m>=n) /* 判断是否选出猴王 m比n小就不去删 */
for(i=x;i<m;i=i+n-1) /* x表示环跳回来时从几开始 */
{
for(j=i+n-1;j<m-1;j++) /* 用m-1是因最后数组为a[m-1] */
a[i+n-1]=a[i+n]; /* 第一个报数合条件的是a[i+n-1] */
m--;
x=n-m+i-1;
if(m-i<n)
{
for(j=x;j<m-1;j++)
a[j]=a[j+1];
goto dd;
}
}
else printf("a[x]=%d",a[x]);
}
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
m=3
n=3
a[x]=2 正确应为: a[x]=1
m=5
n=3
a[x]=4 正确应为: a[x]=2
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
看雪我很久知道了,只不过那时候我还没开窍
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
顶一个。。。。。。。
|
|
|