| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1251 人关注过本帖
标题:求助 一道c语言题目
只看楼主 加入收藏
曾几何时丨
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-11-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求助 一道c语言题目
小明每个月基本工资x元,还有奖金y元,每迟到1次扣奖金的50元。这个月迟到z次,最多将所有奖金扣完。

请问小明这个月领多少钱?

输入:3个正整数

输出:1个整数(没有回车)

如果输入不合法,则输出"error"

比如:

输入:3000 200 2

输出:  3100


输入:1000 -2 5

输出:error

____________________________________________________

#include<stdio.h>
int main()
{
    int x, y, z;
    int month;
    printf("输入:");
    scanf_s("%d %d %d", &x, &y, &z);
    if (x > 0 && y > 0 && z > 0)
    {
        month = x + y - (z * 50);
        printf("输出:%d", month);                                       我作答的

    }
    else
    {
        printf("输出:error");
    }
   
    return 0;
}


_______________________________________________________

在软件中正常运行,提交作业提示如一下内容:

编译错误

a.cpp: In function 'int main()':
a.cpp:7:32: error: 'scanf_s' was not declared in this scope



请指教
搜索更多相关主题的帖子: 输入 printf int c语言 输出 
2021-11-11 15:10
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:7 
程序代码:
#include<stdio.h>
int main()
{
    int basePay, bonus, lateTimes;
    int salary;

    scanf("%d%d%d", &basePay, &bonus, &lateTimes);
    if (basePay < 0
        || bonus < 0
        || lateTimes < 0 //此处未判断每月迟到次数上限
        )
    {
        printf("error");
    }
    else
    {
        salary = bonus - (50 * lateTimes);
        if (salary < 0)
        {
            salary = 0;
        }
        salary += basePay;
        printf("%d", salary);
    }
   
    return 0;
}
2021-11-11 15:27
Mrluoyuzhao
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2021-9-1
收藏
得分:7 
直接使用scanf就好了。scanf_s是个安全函数,很多_s函数都所谓安全。标准C库里没有安全函数,在VS高版本加入了这些安全函数
2021-11-11 15:57
Hhu_TF
Rank: 2
等 级:论坛游民
威 望:1
帖 子:20
专家分:63
注 册:2021-11-10
收藏
得分:7 
回复 楼主 曾几何时丨
你的代码没有反映如果奖金全部扣光后的情况。
2021-11-13 19:17
Hhu_TF
Rank: 2
等 级:论坛游民
威 望:1
帖 子:20
专家分:63
注 册:2021-11-10
收藏
得分:0 
回复 楼主 曾几何时丨
程序代码:
#include <stdio.h>

int main() {
    int x, y, z;
    int s;
    printf("请输入:");
    scanf("%d%d%d", &x, &y, &z);
    if (x > 0 && y > 0 && z > 0) {
        s = y - 50 * z; //计算剩余奖金是否为零
        if (s < 0) {
            s = 0;
        }
        printf("输出:%d", s + x);

    } else {
        printf("输出:error");
    }
    return 0;
}
2021-11-13 19:28
快速回复:求助 一道c语言题目
数据加载中...
 
   



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

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