C语言简单程序!这个程序高手帮忙看看吧 能运行但是结果不对 输入1的时候为什么等于-3呢 不是输出y=0么。

作者&投稿:敖侄 (若有异议请与网页底部的电邮联系)
哪位高手帮忙看看这个C语言程序哪里错了!运行的结果不对啊!~

输入语句scanf("%f,%f,%d",&p,&w,&s);
你写的输入格式是 %f,%f,%d 所以你输入的时候,数据只能是逗号,否则就错误。
一般情况输入语句改为scanf("%f%f%d",&p,&w,&s); 这样输入的时候就可以用空格隔开。

没看明白你到底想计算什么,
#include
#include
int main(void)
{int flag;
double epx,s,item,denomination;
printf("Enter a epx:
");
scanf("%lf",&epx);
item=0;flag=1;denomination=1; //这里都赋初始值了
while(fabs(item)<epx){
item=flag*1.0/denomination; // item=1*1.0/1==1,这是item最大的值了,循环后他变成0,因 为flag=0
s=s+item; // s=0+1==1
flag=-flag; //flag=0
denomination=denomination+3;
}
printf("s=%.2f
",s);
return 0;
}
很奇怪你这程序能得到结果,应该是死循环才对。。。

C语言当中运算符 ^ 是按位的异或运算,并不表示求幂运算!
如果你想表示一个很小的数最简单的办法就是直接写0.000001

或者使用pow函数,pow(底数,指数)

跟踪一下就知道了 10^-6 的值是 -16 比0小 那就是执行else了

输入1时,来看下fabs(x-1),因为x=1,所以x-1=0,为非负,所以fabs(x-1)函数返回0,,即if(fabs(x-1)<(10^-6))就等价于if(0<10^-6)括号内为假,执行else语句,
即y=2*x-5=-3

10^-6 的值是 -16
应该改成pow(10,-6)

^是按位异或的意思,不是所谓的次方的意思,所以10^-6等于-16

注意:二进制数值的最高位表示符号,若最高位是1,则此数为负数,若最高位是0则此数是正数。
10为正数故最高位是0,-6为负数故最高位为1。
10和 -6相异或以后,得出的结果的最高位是1,所以(10^-6)是个负值,而fabs(x-1)求绝对值 故(fabs(x-1)<(10^-6))为false
所以执行 y = 2*x -5 ;为-3


C语言最简单的程序是什么?
最简单的程序,莫过于什么都不干。下面这个程序,语法正确,结构齐全,只是什么都没有做。int main( ){ return 0;}

使用C语言编一个简单的“8!”程序,结果赋值“Counter”变量。C语言中有...
在这个示例中,我们使用一个for循环来计算8的阶乘。在循环中,我们从1到8迭代,将每个数字乘以当前的阶乘,最终得到8的阶乘。在计算阶乘之前,我们定义了一个变量factorial,并将其初始化为1。在循环结束后,我们将计算出的阶乘存储在变量factorial中,并将其打印到控制台中。

一个简单的C语言程序,求解
1、新建一个 字符串数组的定义与输出项目。2、添加一个 str.c 文件。3、包含stdio.h和stdlib.h头文件。4、输入main函数主体,system()和返回值。5、定义一个字符串变量str。6、使用printf()函数输出字符串变量str。7、运行程序,查看输出结果。

如何用C语言编写一个简单的程序!
01 鼠标左键双击c语言软件,打开,打开后界面如图,点击关闭即可 02 点击上方程序窗口左上角的文件,选择新建 03 在打开的窗口中选择文件,下边一般是第四个 c++Source file,输入文件名(hellw.c),一定要以“.

c语言简单程序。有什么错误啊。。。 #include<stdio.h> int main...
所以'\\r'会干扰你的下一次循环。scanf 参数如果是 %c 表示一次从输入流取一个字符。回车和换行都是特殊字符,回车 = ’\\r‘ 换行 = '\\n' .改一下程序实现你要的效果,如下。include<stdio.h> int main(){ int i;char a,b,n;for (i=1;i<=2;i++){ scanf("%c%c%c",&a,...

一个简单的c语言程序,输入几句话,输出相同的几句话,怎么写?
break; printf("Error, redo: "); fflush(stdin); } if((p=(char **)malloc(sizeof(char *)*T))==NULL){\/\/动态创建一个长度为T的指针数组 printf("For the pointer allocated memory failure...\\n"); exit(

使用VisualC++6.0编写简单C语言程序入门教程?
5、选择路径之后,单击“确定”按钮,得到如下图说是的界面,在右边的编辑区内,您就可以开始编写C语言代码了。6、开始代码的编辑。下面,我们编写一个简单的两数求和的代码,代码编辑如下如所示。7、编译。对程序进行编译,点击工具栏的“编译”图标(或者按下快捷键:Ctrl+F7),如下图所示。8、组建...

如何用易语言做个简单的程序
将易语言安装好后,打开一个易语言的程序,鼠标左键单击菜单【程序】【新建】,从建一个新的程序开始,如下图所示。在弹出的【新建】的窗口上,选择Windows窗口程序,这个图标,这样就会创建一个窗口程序,如下图所示。鼠标左键单击【确定】后,进入窗口程序的开发界面,可看到左边是属性窗口的树形结构,...

求编写一下三个简单的C语言程序 ,新手求解
第一个:include <stdio.h>int main(int argc, char *argv[]){ char a; scanf("%c", &a); printf("大写字母为%c\\n", a-32); return 0;}第二个:include <stdio.h>int main(int argc, char *argv[]){ char A; scanf("%c", &A); printf("八进制:%o...

求最简单的C语言程序
int a,b,t=0;scanf("%d %d",&a,&b);if (a

井陉矿区17118413270: 求高手讲解一下一个很简单的C语言程序
翁殃宁绪: main(){ int i,s[10];//定义int类型数组和一个变量 i float av=0.0;//定义一个带小数点的变量float记录平均值av for(i=0;i<10;i++) { scanf("%d",&s[i]);//从控制台接受10个数值 av=av+s[i]/10.0;//求出平均值——注每个数值除以10和全家起来除以10是一样的 } printf("av=%5.2f\n",av);//打印平均数 for(i=0;i<10;i++)//再次循环 if (s[i]<av) printf("%4d",s[i]);//输出小于平均数的}

井陉矿区17118413270: 帮忙看下这个简单的c语言代码 -
翁殃宁绪: #include int main() { int p,n,m,i,j,a[10],jud; scanf("%d",&p);//读入要测试的数 n=1234; for(;n { jud=0; m=n; // 不能破坏循环变量n的值 for(i=4;i>=0;i--) { a[i]=m%10; m=m/10;//将n的5位数字分别存在数组中 } if(n%p!=0) continue;//如果n不能被p...

井陉矿区17118413270: 一个很简单的C语言程序,希望大家看一下 -
翁殃宁绪: 两个错误: if((b=0)&&(c=0))应该是if(b==0&&c==0)或者if(!b&&!c) pintf("&d")中的&应为%

井陉矿区17118413270: 高手帮我看下这个简单C语言程序错在哪? -
翁殃宁绪: #include<stdio.h> void main() {char c;int a=0,b=0,m=0,n=0; c=getchar(); for(;c!='\n';) {if('A'<=c&&c<='Z') a++; else if('a'<=c&&c<='z') b++; else if(c==32) m++; else n++; c=getchar(); /*少了这个东东,你的只输入了一次,在循环里没有输入字符,...

井陉矿区17118413270: C语言:帮我看看这不超过20行的简单程序... ... -
翁殃宁绪: if (m%7!=0 ||m%11!=0) 或者符号应该改为&&

井陉矿区17118413270: 求大神帮忙用C语言编写一个简单的加法程序 -
翁殃宁绪: #include <stdio.h> void main() { int j; float number[100]; float sum=0; j=0; for(j=0;j <100;j++) { scanf( "%f ",&number[j]);if(number[j]!=0) printf( "+ "); if(number[j]==0) break; sum=sum+number[j]; } printf( "%f ",sum); }

井陉矿区17118413270: 急求!!!一个简单的c程序,高手请进.帮忙看一下
翁殃宁绪: ------------------------------ AA(一个Tab位)BB CCCC DD(两个Tab位)EH /my/ (一个Tab位)"your"

井陉矿区17118413270: c语言高手请帮忙,很简单的代码.
翁殃宁绪: #include<stdio.h>main(){ long int i; long b1,b2,b4,b6,b10,b;b1=100000*0.1;b2=b1+100000*0.075;b4=b2+200000*0.05;b6=b4+200000*0.03;b10=b6+400000*0.015;scanf("%ld",&i);if(i<100000)b=i*0.1;if(i<=200000)b=b1+(i-100000)*0.075;if(i<=...

井陉矿区17118413270: 高手们,帮我看看这个c语言程序 -
翁殃宁绪: #include<stdio.h> main() { int a[]={2,4,6,8,10},y=1,x,*p; // 把a赋值为a[0]=2;a[1]=4;a[2]=6;a[3]=8;a[4]=10; 把Y赋值为1 声明一个X 和一个指向int的指针p p=&a[1]; //把p指向a[1] 注意 楼上的答案是错的 a[1]是数组的第二个!第一个是a[0] for(x=0;x<3;x++) y+=*(p+x); //循环x分别为0,1,2, 每次y+上a[1+x] printf("%d\n",y); //打印 }

井陉矿区17118413270: 单片机,C语言写的一小段程序,高手帮看看 -
翁殃宁绪: 这是一个简单的流水灯实验,前面的void delay(uint)是一个函数申明,你这一段里面没有给delay函数,给的程序不够清晰.如果是延迟100ms的话,delay函数应该是这样的:void delay(unsigned int x) { unsigned int i,j; for( i =0;i < x;i++ ) { for( j =0;j<3;j++ ); } } 给定delay(100)即延迟100ms.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网