c语言问题,高手请进!

作者&投稿:缪绿 (若有异议请与网页底部的电邮联系)
你这这一步错了cost=10+(mile-3)*2+((minutes*60+seconds)/300)*2;因为你minutes和second都是int的,当你除以一个整形后它会取整,例如
c=a/100,当a为int型且a=580时,c的值会是5,而不是你所想的5.8,所以这题你只要把minutes和second改为double型就行了(
int
minutes,
seconds;改为
double
minutes,
seconds;及
scanf("%lf%d%d",
&mile,
&minutes,
&seconds);
改为scanf("%lf%lf%lf",
&mile,
&minutes,
&seconds);)

#include <stdio.h>
#include <math.h>

int zdgys(int x,int y);
int zxgbs(int e,int f);

void main()
{
int a,b,c,d;

scanf("%d", &a);
scanf("%d", &b);

c = zdgys(a,b);
d = zxgbs(a,b);

printf("zdgys is %d\n", c);
printf("zxgbs is %d\n", d);

getchar();
getchar();
}

int zdgys(int x, int y)
{
int i, g;
for(g=1; g<=(x+y)/2; g++)
{
if( (x%g == 0) && (y%g == 0) )
{
i=g;
}
}

return i;
}

int zxgbs(int e, int f)
{
int s, g, i;

for(g=1; g<=(e+f)/2; g++)
{
if( (e%g==0) && (f%g==0) )
{
i=g;
}
}

s = e * f / i;

return s;
}

看看改动了什么。你的编程风格太差了,既没空行,又没空格,让我编辑了半天。

我用你说的值试了都没问题啊,调试命令:F10单行执行,F11进入函数,F9设置断点,F5进入调试模式

为什么不用辗转相除法

#include<stdio.h>
int gy(int a,int b)
{int t;
if(a<b)
{t=a;
a=b;
b=t;}
t=a%b;
while(t)
{a=b;
b=t;
t=a%b;

}
return(b);
}
int gb(int a,int b,int c)
{c=a*b/c;
return(c);
}
main()
{int x,y,c;
scanf("%d%d",&x,&y);
c=gy(x,y);
printf("gongyue=%d\n gongbei=%d\n",c,gb(x,y,c));

}
你的程序在g=1的时候就满足 if((x%g==0)&&(y%g==0)) 那个时候就返回值了 不会再继续循环

一楼的可以运行啊

垃圾

C语言问题(高手请进)~

这个我已经编译过了,不知道你满不满意啊
#include "Stdio.h"
#define N 5
int main(void)
{
float grade[N],*p,max,min,sum=0,avg;//定义了一个记录分数的数组,一个指针,一个最大值,一个最小值,和存总分,平均分的变量
p=grade;
scanf("%f",p);
max=min=*p;
sum=sum+*p;
p++;
for(;p<grade+N;p++)
{ scanf("%f",p);
sum=sum+*p;
if(*p>max)max=*p;
if(*p<min)min=*p;
}
avg=(sum-max-min)/(N-2);
printf("the grade is:%f
",avg);
getch();
}

sizeof(blue)求的是指针blue本身的大小, 在32位机器中, 指针的长度为4字节,所以得到的结果是4,
要求字符串的长度, 应该使用strlen(blue);

C语言写关机程序语问题,高手请进!
答:("HKEY_LOCKAL"多了下个字母“K",原样是HKEY_LOCAL,CONSTBYTE* 改成CONST BYTE*,要空格,要注要括号,自己仔细看清楚吧!本程序不存在逻辑错语。本人是(网友世界2009 NO.14 64页) 用C语言写关机整人小病毒的作者,有问题与作者联系,本程序只用于学习,不得用本代码来修改注册表来进行映像...

高手请进!一道C语言编程的题,对于您这相当简单!急!!
答:你的c=2应该是z=2吧?!!(x-y)+z-1&&y+z/2中有运算符 原式相当于!(6-4)+2-1&&4+2/2 ()括号 !非 +加 -减 &&与 /除 其中优先级最高的为(),其次为!,再其次为/,再其次为+-,最后为&&,所以先算()内的即:!2+2-1&&4+2/2 再然后,运算优先级较高的!运算 !2=0 即:...

C语言大问题...高手请进...
答:我运行过你的程序了 在第一次运行的时候是正常的 如果再运行就不正常了 为什么呢 因为最后一句The screen has been cleared并没有被清除 而是被保留在屏幕上 所以你再次运行看到的是先有这句 其实程序还是运行for循环的 其实不是的 你在int i前加了clrscr就是把之前的The screen has been cleared...

C语言的高手请进!!!跪求几道题的答案!!!
答:printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)for(j=0;j<10-i;j++)if(a[j]>a[j+1]){ temp=a[j];a[j]=a[j+1];a[j+1]=temp;} printf("排序后:\n");for(i=0;i<10;i++)printf("%4d",a[i]);system("PAUSE"...

C语言编程问题.请高手进(附源码)!!!HELP
答:include "stdlib.h"void fcxxwh(void);void fcxxcx(void);void dc(void);void zz(void);void sr(void);void main(){ int a;printf("\t饭店信息维护系统\n");printf("1.饭菜信息维护\t");printf("2.饭菜信息查询\n");printf("3.点菜\t\t");printf("4.结帐\n");printf("请输入...

c语言问题,正在复习国二,请高手帮我解决疑问,不胜感激
答:while(k++ && n++>2);等价于while((k++) && (n++>2));因为k的值为零,那么表达式k && "任意数"的结果都为假,所以不会执行&&右边的运算。然后k的值自增,所以结果k = 1,n = 2

关于C语言的一个问题,高手请进
答:好吧,我来回答吧,其实是不需要的,我还特意测试了一下,编译成功而且调用过程都没有问题 解释一下,a.c文件中调用了b()函数,a.c包含了b.h头文件,所以a.c文件能正常调用b()函数,这点大家应该都没有问题,但main()中通过调用a()来间接调用b()函数需不需要b()的头文件呢,答案是不需要...

c语言编程高手请进:麻烦帮忙解决下面这个菜鸟级的问题!(两个问题...
答:首先:#include"stdio.h"int fun(int i, int n){ int m=1;for(int j=0;j0){ a=j%10;if(a%7==0)s++;j=j/10;} printf(" %d中有%d个7",x,s);}

C语言 ASCII码的问题 高手请进~
答:这个是十六进制默认的表示方法。C,C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也不区分大小写。(注意:0x中的0是数字0,而不是字母O)是0x的。

语言学题目求解~~~英语高手请进~~~回答好了还会有加分的哦~~谢谢了...
答:1.They are both stylistic synonmies.参考胡壮麟《语言学教程》,这些例子都是书中的例子。2.young/old--gradable.awake/asleep--complementary pass/fail--complementary husband/wife--converse(reversal)but\y/sell--converse(reversal)legal/illegal--complementary true/false--complementary over/under-...