| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1354 人关注过本帖
标题:c语言,希望大家看一下,运算结果不对
只看楼主 加入收藏
syg823
Rank: 1
等 级:新手上路
帖 子:21
专家分:9
注 册:2010-9-19
结帖率:100%
收藏
 问题点数:0 回复次数:13 
c语言,希望大家看一下,运算结果不对
#include<stdio.h>
main()
{
    int*p1,*p2,*p,a,b;
    scanf("%d,%d",&a,&b);
    p1=&a;p2=&b;
    if(a<b)
        {p=p1;p1=p2;p2=p;}

        printf("\na=%d,b=%d\n",a,b);
     printf("max=%d,min=%d\n",*p1,*p2);
}
这是调试结果,没有错误,但是运算结果不对,请问是怎么回事啊?
搜索更多相关主题的帖子: c语言 运算 结果 
2010-12-02 09:25
syg823
Rank: 1
等 级:新手上路
帖 子:21
专家分:9
注 册:2010-9-19
收藏
得分:0 
已经知道是哪里错了,因为scanf("%d,%d",&a,&b);在%d与%d之间需要空格,那你在输入的时候也需要加空格,如果是逗号,输入的时候也要加逗号
2010-12-02 09:38
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:0 
scanf语句中有错。
改为scanf("%d%d",&a,&b);
这样运行就正确了。

。。。!!!)))000
2010-12-02 10:06
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
回复 楼主 syg823
我们老师讲的怎么是%d与%d之间不要都好啊?
2010-12-02 12:51
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
#include<stdio.h>
int main()
{
    int p,r,n,m,t,a,b,s;
    scanf("%d/%d",&n/&m);
         if(n==0) printf("0");
    if(n!=0&&n<m)
         {
    {
        s=n;
        n=m;
        m=s;
    }
    p=m*n;
    while(m!=0)
    {
        r=n%m;
        n=m;
        m=r;
                  n=t;
    }
              a=n/t;
              b=m/t;
    printf("%d/%d",a/b);
          }
    return 0;
}
以上是我做的程序,就是化简分数,但是错了,这是为什么啊?请求指点!
2010-12-02 12:57
竹千芝
该用户已被删除
收藏
得分:0 
回复 4楼 jj369258
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-02 12:58
aiyinsitan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
收藏
得分:0 
#include<stdio.h>
main()
{
    int*p1,*p2,p,a,b;
    scanf("%d%d",&a,&b);
    p1=&a;p2=&b;
    if(a<b)
        {p=*p1;*p1=*p2;*p2=p;}

        printf("\na=%d,b=%d\n",a,b);
     printf("max=%d,min=%d\n",*p1,*p2);
}
2010-12-02 15:38
kami_dante
Rank: 2
等 级:论坛游民
帖 子:37
专家分:93
注 册:2010-12-29
收藏
得分:0 
scanf()中引号内为%d,%d   则输入是格式必须是m,n     如果是%d%d则格式必须为mn
输入格式问题,别的地方没有问题
2011-01-09 19:25
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:0 
以下是引用syg823在2010-12-2 09:38:41的发言:

已经知道是哪里错了,因为scanf("%d,%d",&a,&b);在%d与%d之间需要空格,那你在输入的时候也需要加空格,如果是逗号,输入的时候也要加逗号
我刚看完也想说。。。。

勤能补拙,熟能生巧!
2011-01-10 09:21
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
回复 5楼 jj369258
#include<stdio.h>
int main()
{
    int p,r,n,m,t,a,b,s;
    scanf("%d/%d",&n,&m);  //
    if(n==0) printf("0");
    if(n!=0&&n<m)
  {
      {
        s=n;
        n=m;
        m=s;
      }
     p=m*n;
     while(m!=0)
     {
        r=n%m;
        n=m;
        m=r;
        n=t;
     }
       a=n/t;
       b=m/t;
    printf("%d/%d",a,b);
   }
    return 0;
}
以上是我做的程序,就是化简分数,但是错了,这是为什么啊?请求指点!

   唯实惟新 至诚致志
2011-01-10 21:14
快速回复:c语言,希望大家看一下,运算结果不对
数据加载中...
 
   



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

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