标题:[求助]有关clrscr和if的问题
只看楼主
Paulnet
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-18
 问题点数:0 回复次数:12 
[求助]有关clrscr和if的问题
请大家说说我的语言那个地方有漏洞
相信是没有错误的
但是在我输入"12398"的时候,最大数竟然变成了8
何解......
#include "conio.h";
#include "stdio.h";
void main(){
long int a,b,c,d,e,f,max;
clrscr();
scanf("%ld",a);
d=a%10;
a=a/10;
b=a%10;
a=a/10;
c=a%10;
a=a/10;
e=a%10;
a=a/10;
f=a%10;
max=b;
if (c>max)
max=c;
if (d>max) max=d;
if (e>max) max=e;
if (f>max) max=f
printf ("%ld",max);
};


各位,帮帮忙
不胜感激!

[此贴子已经被作者于2006-4-21 19:02:15编辑过]

搜索更多相关主题的帖子: max 不胜感激 include 
2006-04-15 14:15
Paulnet
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-18
得分:0 
不是吧.........
难道我差到没人理我?!!

我从来不说一些没有意义、为祸人间、又没有建设性的话,所以我不留下任何说明。
2006-04-15 17:51
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
得分:0 

数据类型,SCANF格式``


我的原则很简单:不做不喜欢的事!
2006-04-15 18:18
luo113927
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2006-3-15
得分:0 
scanf("%d",a);

scanf("%d",&a);
2006-04-15 19:35
ddv
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-8
得分:0 
以下是引用Paulnet在2006-4-15 14:15:00的发言:
#include "stdio.h";
void main(){
long int a,b,c,d,e,f,max;
scanf("%d",a);
d=a%10;
a=a/10;
b=a%10;
a=a/10;
c=a%10;
a=a/10;
e=a%10;
a=a/10;
f=a%10;
max=b;
if (c>max)
max=c;
if (d>max) max=d;
if (e>max) max=e;
if (f>max) max=f
printf ("%d",max);
};


答案总是不对,有时候是8,有时候是9
而且当我加上conio.h时,那就变成错误:
#include "conio.h";
#include "stdio.h";
void main(){
long int a,b,c,d,e,f,max;
clrscr();
scanf("%d",a); \\ 改成scanf("%ld",&a);
d=a%10;
a=a/10;
b=a%10;
a=a/10;
c=a%10;
a=a/10;
e=a%10;
a=a/10;
f=a%10;
max=b;
if (c>max)
max=c;
if (d>max) max=d;
if (e>max) max=e;
if (f>max) max=f
printf ("%d",max); \\ %ld
};


各位,帮帮忙
不胜感激!

[此贴子已经被作者于2006-4-15 20:24:52编辑过]


2006-04-15 20:23
Paulnet
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-18
得分:0 
可不可以解释一下为什么加一个"l"?

我从来不说一些没有意义、为祸人间、又没有建设性的话,所以我不留下任何说明。
2006-04-15 22:29
queyapahaha
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-4-5
得分:0 
#include <stdio.h>;//把分号去 了就没警告了
void main(){
long int a,b,c,d,e,f,max;
scanf("%d",&a);
d=a%10;
a=a/10;
b=a%10;
a=a/10;
c=a%10;
a=a/10;
e=a%10;
a=a/10;
f=a%10;
max=b;
if (c>max)
max=c;
if (d>max) max=d;
if (e>max) max=e;
if (f>max) max=f;
printf ("%d",max);
};

我为程狂!!
2006-04-15 23:12
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
得分:0 
以下是引用Paulnet在2006-4-15 22:29:00的发言:
可不可以解释一下为什么加一个"l"?

%ld 代表长整型
%d 代表短整形
因为a定义为长整型变量,所以你必须要用%ld

2006-04-16 00:17
Paulnet
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-18
得分:0 
帮帮忙啊...

我从来不说一些没有意义、为祸人间、又没有建设性的话,所以我不留下任何说明。
2006-04-21 19:04
pthouge
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-3-10
得分:0 
#include "conio.h";
#include "stdio.h";
void main(){
long int a,b,c,d,e,f,max;
clrscr();
scanf("%ld",&a);
d=a%10;
a=a/10;
b=a%10;
a=a/10;
c=a%10;
a=a/10;
e=a%10;
a=a/10;
f=a%10;
max=b;
if(c>max)
max=c;
if (d>max) max=d;
if (e>max) max=e;
if (f>max) max=f;
printf ("%d",max);
getch();
}

为什么我照你那样输入,得到的是9啊?

2006-04-22 08:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-57659-1-1.html




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

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