| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1893 人关注过本帖
标题:刚学C,帮我看看这程序哪错了呀?
只看楼主 加入收藏
星魂
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-5-11
收藏
得分:0 
哦,这回终于明白了.

谢谢!
2008-05-13 21:18
hellbelial
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-4-29
收藏
得分:0 
[bo]以下是引用 [un]星魂[/un] 在 2008-5-13 20:47 的发言:[/bo]

嗯,好了,
为什么中间不能用逗号那?

逗号不是间隔符吗?

逗号是字符数值?

这样:

00.jpg (7.3 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-05-13 21:24
编号89757
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-14
收藏
得分:0 
初学vc++,运行程序遇到麻烦?
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define pi 3.1415926536
#define NN 2048
main()
{
int i,j,k,m,N,r,s,t;
static float a0,a1,b0,b1,p,z,g;
static int a[NN];
static float c[NN];
static float d[NN][2],w[NN][2];
char thl[15];
FILE *fp,*fp1;
a[0]=0;
a[1]=1;
printf("input the data sum N\n N=");   /*FFT采样点数,此处直接由一个数据文件读入*/
scanf("%d,&N");
printf("input the data r\n r=");                       /*FFT阶数和采样点数成2的N次方关系*/
scanf("%d",&r);
printf("input the power outfile name:");/*FFT变化后求得功率谱保存的文件名*/

scanf("%s",thl);
for(i=0;i<N;i++)
 {
   a[2*i]=a[i]/2;
   a[2*i+1]=a[2*i]+N/2;
  }                  
g=0.0;
fp=fopen("sl.dat","r");
for(i=0;i<N;i++)
 {
   fscanf(fp,"%f\n",&c[i]);              /*读入数据并完成位反处理*/
    d[a[i]][0]=c[i];
    d[i][1]=0;
    g=g+c[i];
  }                        
 fclose(fp);
 g=g/pow(2,r);
 for(i=0;i<N;i++)
  {
   d[i][0]=d[i][0]-g;
   }                           
  for(i=0;i<N;i++)
  {
  for(m=0;m<pow(2,i);m++)
      {
       w[m][0]=(cos(2*pi*m/pow(2,i+1)));
         w[m][1]=(-sin(2*pi*m/pow(2,i+1)));
         }   
  for(j=0;j<N;j=j+pow(2,i+1))
      {
    for(k=0;k<pow(2,i);k++)
           {
         s=(j+k);
              t=(j+k+pow(2,i));   /*蝶形运算*/
                 a0=(d[s][0]+w[k][0]*d[t][0]-w[k][1]*d[t][1])/2;
                 a1=(d[s][1]+w[k][0]*d[t][1]+w[k][1]*d[t][0])/2;
                 b0=(d[s][0]-w[k][0]*d[t][0]+w[k][1]*d[t][1])/2;
                 b1=(d[s][1]-w[k][0]*d[t][1]-w[k][1]*d[t][0])/2;   
                d[s][0]=a0;
                d[s][1]=a1;
                d[t][0]=b0;
                d[t][1]=b1;
            }
       }
    }  
    fp=fopen(thl,"w");
    fp1=fopen("out2.dat","w");
    for(k=0;k<N;k++)
    {
      p=(pow(d[k][0],2)+pow(d[k][1],2));     /*计算功率谱*/
      z=sqrt(p);
      fprintf(fp1,"%f,%f\n",d[k][0],d[k][1]);
      fprintf(fp,"%f\n",z);
      }
    fclose(fp);
    fclose(fp1);
}
运行时蹦出个窗口unhandled exception in fft.exe:0xc0000005:Access Violation.
怎么解决?望高手指点……在下感激ing
2008-05-14 00:48
编号89757
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-14
收藏
得分:0 
我运行的是正确的啊……
╟δ╩Σ╚δ╚?╕÷╩?╫╓a,b,c:1,6,8
╫ε┤≤╩?╬?:8
只是文字说明部分是乱码,我的tc好像不允许汉字
2008-05-14 00:53
long198668
Rank: 1
来 自:河南--开封
等 级:新手上路
帖 子:53
专家分:0
注 册:2008-5-8
收藏
得分:0 
中间的逗号有两种作用,一种是做间隔,而另一种就是逗号表达式了;
2008-05-14 13:11
irly83
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-4-19
收藏
得分:0 
编程一定要细心!
你输入数据的时候用","隔开,或是把输入语句改为:scanf("%d%d%d",&a,&b,&c);改了之后输入数据时要用空格隔开的.
2008-05-14 14:29
a404638507
Rank: 1
来 自:湖北孝感
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-3-25
收藏
得分:0 
应该输入逗号
2008-05-14 17:27
zhuwei168
Rank: 1
来 自:东软信息学院
等 级:新手上路
帖 子:180
专家分:0
注 册:2008-2-13
收藏
得分:0 
呵呵没错没错
2008-05-14 17:30
花边蜂
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-4-24
收藏
得分:0 
算法有点问题
而且在vc6.0中,头文件要#include<stdafx.h>
你求了最小数了.........
2008-05-14 23:19
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
#include<stdafx.h>
?? 这是什么头文件

------...-.-..-...-----........-------.......----.....------....||- - !
2008-05-14 23:47
快速回复:刚学C,帮我看看这程序哪错了呀?
数据加载中...
 
   



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

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