| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
绝地游戏外挂辅助教学千里之行 始于足下
共有 2114 人关注过本帖
标题:对2个整数进行乘、除和求余运算
只看楼主 收藏
hsm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-11-19
结帖率:66.67%
  已结贴   问题点数:20  回复次数:6   
对2个整数进行乘、除和求余运算
题目是这样的:
改错,对2个整数进行乘、除和求余运算。
输入输出示例:
输入x 运算符 y : 21 % 8
21 Mod 8 = 5
源程序(有错误的程序)
#include<stdio.h>
void main()
{  char sign;
   int x,y;
   prnitf(“输入x 运算符 y:”);
   scanf(“%d%c%d”,&x,&sign,&y);
   if(sign=’*’)
     printf(“%d * %d = %d\n”,x,y,x*y);
   else if
     printf(“%d * %d = %d\n”,x,y,x*y);
   else if
     printf(“%d * %d = %d\n”,x,y,x*y);
   else
     printf(“运算符输入错误”);
}
我改后的是这样的:
#include<stdio.h>
void main()
{  char sign;
   int x,y;
   printf("输入x 运算符 y:");
   scanf("%d%c%d",&x,&sign,&y);
   if('sign'=='*')
     printf("%d*%d=%d\n",x,y,x*y);
    else if('sign'=='%')
     printf("%d Mod %d=%d\n",x,y,x%y);
    else if('sign'=='/')
     printf("%d/%d=%d\n",x,y,x/y);
   else
     printf("Invalid Input!\n");
}
编译说错误为0,可是执行确实这样的
附件: 您没有浏览附件的权限,请 登录注册
搜索更多相关主题的帖子: include  源程序  
2015-11-19 23:13
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:ID已被封
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
  得分:5 
if('sign'=='*')  sign 不要分号,后面一样


我们都在路上。。。。。
2015-11-20 00:34
rjsp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:218
帖 子:5251
专家分:29118
注 册:2011-1-18
  得分:5 
"%d%c%d" 在%c前加个空格吧

程序代码:
#include <stdio.h>

int main( void )
{
    char opt;
    int a, b, r;

    printf( "输入\"a 运算符 b\": " );
    if( 3!=scanf("%d %c%d",&a,&opt,&b) || (opt!='*' && opt!='/' && opt!='%') )
    {
        puts( "invalid input." );
        return 1;
    }

    if( (opt=='/' || opt=='%') && b==0 )
    {
        puts( "divide by zero." );
        return 1;
    }

    switch( opt )
    {
    case '*': r=a*b; break;
    case '/': r=a/b; break;
    case '%': r=a%b; break;
    }
    printf( "%d %c %d = %d\n", a, opt, b, r );

    return 0;
}

2015-11-20 09:58
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:ID已被封
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
  得分:0 
回复 3楼 边小白
哈哈,这文字错得醉人了。单引号

我们都在路上。。。。。
2015-11-20 10:30
brokenheart
Rank: 2
等 级:论坛游民
帖 子:64
专家分:25
注 册:2015-11-7
  得分:5 
#include<stdio.h>
void main()
{  char sign;
   int x,y;
   printf("输入x 运算符 y:");
   scanf("%d%c%d",&x,&sign,&y);
   if(sign=='*')
     printf("%d*%d=%d\n",x,y,x*y);
    else if(sign=='%')
     printf("%d Mod %d=%d\n",x,y,x%y);
    else if(sign=='/')
     printf("%d/%d=%d\n",x,y,x/y);
   else
     printf("Invalid Input!\n");
}
去掉单引号,sign只是定义的一个变量,不是转义字符,不可以加单引号
2015-11-21 09:21
hsm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-11-19
  得分:0 
谢谢各位啦
2015-11-21 13:35







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

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