| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1451 人关注过本帖
标题:这个程序怎么不能运行
取消只看楼主 加入收藏
zglieren303
Rank: 1
等 级:新手上路
帖 子:29
专家分:1
注 册:2008-11-6
结帖率:66.67%
收藏
 问题点数:0 回复次数:5 
这个程序怎么不能运行
#include<stdio.h>
void main()
{
int M(int x[10],int y[10]);    /*申明调用的函数M*/
int a[10],b[10],t,i,p,n;
printf("huanying ni shiyong LiQijun mima fuwu xitong !!\n"  );
printf("qingshuru ni de mima:\n");
for(i=0;i<10;i++);
scanf("%d",&a[i]);       /*对数组a[10] 赋直 即输入的原密码*/
printf("qing queren ni de mima:\n");
for(p=0;p<10;p++);
scanf("%d",&b[p]);      /*对数组赋直 即确认的密码*/
t=M(a[10],b[10]);
if(t==1)
{printf("gongxi ni, nide mima yijing shezhi chenggong\n");
printf("qing shuru nide mima jinru xitong:\n");
for(p=0;p<10;p++)scanf("%d",&b[p]);
n=M(a[10],b[10]);
{if(n==1)printf("huanying jinru LiQijun mima fuwu xitong\n ni haocongming o!");
else printf("ni shige hapi mima dou jibuzhu\n");}  }
else printf("ni shuru de mima qianhou bu yizhi qing chongxin shenqing mima");
getch();}

int M(int x[10],int y[10])  /*函数M为比较两组密码 完全一样则其直为1 否则为0*/
 {
   int i,p,m;
   for(i=0,p=0;i<10;i++,p++)
   {if (x[i]==y[p])m=1;else {m=0;break;}    }
   return (m);
 }
搜索更多相关主题的帖子: 运行 
2008-11-06 21:35
zglieren303
Rank: 1
等 级:新手上路
帖 子:29
专家分:1
注 册:2008-11-6
收藏
得分:0 
回复 4# 的帖子
可以说得更具体吗?我用他给我修改过的程序,无法运行提示的是找不到WINDOUS那个文件。我用的编译系统是WIN TC....  他给我的修改  好想只加了一个 #.....  #....
去掉了一个getch() , getch()是系统为了有看运行结果的时间加的。可以具体讲解哈吗....最上面的个程序 编译时候的问题是说指针有问题..   我编这个程序的时候还没看到指针。现在我看了指针把程序改成了:如下:     #include<stdio.h>
void main()
{
int M(int *x,int *y);    /*申明调用的函数M*/
int a[10],b[10],t,i,p,n,*k,*j;
loop:printf("huanying ni shiyong LiQijun mima fuwu xitong !!\n"  );
printf("qingshuru ni de mima:\n");
for(i=0;i<10;i++);
scanf("%d",&a[i]);       /*对数组a[10] 赋直 即输入的原密码*/
printf("qing queren ni de mima:\n");
for(p=0;p<10;p++);
scanf("%d",&b[p]); k=a;j=b;
t=M(k,j); printf("%d\n",t);
if(t==1)
{printf("gongxi ni, nide mima yijing shezhi chenggong\n");
printf("qing shuru nide mima jinru xitong:\n");
for(p=0;p<10;p++)scanf("%d",&b[p]);
n=M(k,j);
{if(n==1)printf("huanying jinru LiQijun mima fuwu xitong\n ni haocongming o!");
else printf("ni shige hapi mima dou jibuzhu\n");}  }
else {printf("ni shuru de mima qianhou bu yizhi qing chongxin shenqing mima");
goto loop;}
getch();}

int M(int *x,int *y)  /*函数M为比较两组密码 完全一样则其直为1 否则为0*/
{
   int i,p,m;
   for(i=0;i<10;i++)
   {if (*x==*y)m=1;else {m=0;break;};x++,y++;    }
   return (m);
}
到是既没有警告也没有错误,但是  即使前后两次的密码输对了  还是说密码不一致!!!
2008-11-07 16:32
zglieren303
Rank: 1
等 级:新手上路
帖 子:29
专家分:1
注 册:2008-11-6
收藏
得分:0 
回复 5# 的帖子
说一下程序的目的:这是我编写的一个模拟密码声请的程序。由于不支持中文所以其中的字都是用的拼音....  程序运行时 先在屏幕上打出 “ 欢迎使用LI QIJUN 密码服务系统    请输入你申请的密码   (设置的是10位)”  你输进去后   接着  输出 :“请确认你的密码 ”:  再你输入过后 则出现  两中情况  一是  前后输入的密码一致  则提示“你的密码申请成功 ” 接着让你“输入你的密码进入系统”  对了则进去 输出“欢迎你进入系统” 错了 则提示“你的密码错误”        第二种情况是  你设置密码时前后不一致   输出提示信息 “你输入的密码前后不一致   请重新申请”   然后回到开始  (用了一哈goto来实现)......
2008-11-07 16:43
zglieren303
Rank: 1
等 级:新手上路
帖 子:29
专家分:1
注 册:2008-11-6
收藏
得分:0 
回复 7# 的帖子
太感谢了。C是我自学的,有些东西体会不深刻,以后你们要多多指教哦!
2008-11-07 20:12
zglieren303
Rank: 1
等 级:新手上路
帖 子:29
专家分:1
注 册:2008-11-6
收藏
得分:0 
回复 7# 的帖子
今天遇到高手了,总想问很多问题。帮我再看看另外一个问题:
    我的一个同学感叹如果有个程序能够解所有的方程就好了(一元任意次),有一天突然想写个程序试试。程序的一些思路如下:先输入你要解的方程的系数,然后依次输入各位系数从(高次到低次),然后开始解方程,输出结果。
 具体的一些操作是各位系数用用一个数组代替,由于解任意方程的故把数组的范围设得越大越好我设的10位(即可解不超过十次的方程)。当输入N后通过计算比较它与十的关系,让数组前面的几位为0。后几位系数,为输入的系数。解方程用的是二分法,但是二分法有给出一个区间,为了不漏根,把这个区间的长度设计为0.01。也是为了求到尽量多的跟,我让程序从-100扫描到100这个区间。应该在这样地毯式的搜索中大部分的根都可以解出来了.....具体程序如下:
#include<stdio.h>
#include<math.h>
void main()
{
 float x,x0,x1,x2,y0,y1,y,y2;
 float a[10];
 int i,m,n;
 printf("qing shuru fangcheng cishu:\n");
 scanf("%d",&n);
 m=10-n;
 for(i=0;i<m;i++) a[i]=0;printf("qing shuru ge xishu(yong kongge gekai):\n");
 for(i=m;i<=10;i++) scanf("%f\n",&a[i]);
 y=a[0]*x*x*x*x*x*x*x*x*x*x+a[1]*x*x*x*x*x*x*x*x*x+a[2]*x*x*x*x*x*x*x*x
 +a[3]*x*x*x*x*x*x*x+a[4]*x*x*x*x*x*x+a[5]*x*x*x*x*x
 +a[6]*x*x*x*x+a[7]*x*x*x+a[8]*x*x+a[9]*x+a[10];
 for(x1=-100,x2=-100+0.01;x1<=100;x1=x1+0.01,x2=x2+0.01)
 {
  x=x1;y1=y;x=x2,y2=y;y0=1;
  if(y1*y2<0)
  {
  while(fabs(y0)>0.0001)
  {x=(x1+x2)/2;
  y0=y;x0=x;
  if(y1*y0>0) {y1=y0;x1=x0;}
  else if(y1*y0==0)
  printf("%f\n",x0); else {y2=y0;x2=x0;}   }  }

  else if(y1*y2==0){if (y1==0) printf("%f\n") ;
  else printf("%f\n,x0");
  }  }
  getch();
  }
虽然这样计算机要做大量的计算,区间就有10000个还别说每个区间的逼近计算,但至少有点反应撒。上面的程序有几个警告说在X定义以前可能用到了它。哎呀.....没搞懂!!请大虾指教哈.....我用的是WIN TC!!!谢谢了
2008-11-07 20:36
zglieren303
Rank: 1
等 级:新手上路
帖 子:29
专家分:1
注 册:2008-11-6
收藏
得分:0 
回复 11# 的帖子
区间长度设计为0.1吧!这样可以少很多计算量
2008-11-07 20:39
快速回复:这个程序怎么不能运行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018008 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved