| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2497 人关注过本帖
标题:对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
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:5 
if('sign'=='*')  sign 不要分号,后面一样


我们都在路上。。。。。
2015-11-20 00:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册: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
等 级:禁止访问
威 望: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
快速回复:对2个整数进行乘、除和求余运算
数据加载中...
 
   



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

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