一道C语言编程题目,代码看不明白,请大家帮忙看看

笑颜铁塔 2021-04-16 05:41:19
小明在做加减法的算术题,有些题他不会做,那么他会不填答案,有些题可能做错了。 请你写个程序,判断一下小明作对了几道题?

输入
每行一个算术式,形如a+b=c,a-b=c,a+b=,a-b=。0≤a,b,c≤100

输出
输出正确的题目数。

样例输入
1+1=2
1+2=4
2-1=1
2-2=
3+6=

样例输出
2
这是网上找的代码:
#include<bits/stdc++.h>
using namespace std;

char s[50];

int main(){
int d1,d2,d3;
int cnt=0;
char op;
while(gets(s)){
d3=1000;
sscanf(s,"%d%c%d=%d",&d1,&op,&d2,&d3);
if(d1+d2==d3&&op=='+')
{
cnt++;
}
if(d1-d2==d3&&op=='-')
{
cnt++;
}
}
printf("%d\n",cnt);
return 0;
}
不懂这里的gets和sscanf函数,不能用scanf吗?
还有这个输入只有输入CTRL+Z才会输出cnt也有点懵
还有当d3是空格的时候, sscanf(s,"%d%c%d=%d",&d1,&op,&d2,&d3);是咋处理的
...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-03
  • 打赏
  • 举报
回复
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html
qzjhjxj 2021-04-16
  • 打赏
  • 举报
回复
笑颜铁塔 2021-04-16
  • 打赏
  • 举报
回复
引用 1 楼 自信男孩的回复:
恩,可以用的。

//#include<bits/stdc++.h>
#include <stdio.h>
#include <stdlib.h>

//using namespace std;

char s[50];

int main(){
int d1,d2,d3;
int cnt=0;
char op;
//while(gets(s)){
while(scanf("%d%c%d=%d", &d1, &op, &d2, &d3) == 4){
//d3=1000;
//sscanf(s,"%d%c%d=%d",&d1,&op,&d2,&d3);
if(d1+d2==d3&&op=='+')
{
cnt++;
}
if(d1-d2==d3&&op=='-')
{
cnt++;
}
}
printf("%d\n",cnt);
return 0;
}

供参考~


建议查一下sscanf函数实现;可以看成scanf从s中读取值匹配%d和%c
谢谢你的回答,但是wa哦
自信男孩 2021-04-16
  • 打赏
  • 举报
回复
恩,可以用的。

//#include<bits/stdc++.h>
#include <stdio.h>
#include <stdlib.h>

//using namespace std;

char s[50];

int main(){
int d1,d2,d3;
int cnt=0;
char op;
//while(gets(s)){
while(scanf("%d%c%d=%d", &d1, &op, &d2, &d3) == 4){
//d3=1000;
//sscanf(s,"%d%c%d=%d",&d1,&op,&d2,&d3);
if(d1+d2==d3&&op=='+')
{
cnt++;
}
if(d1-d2==d3&&op=='-')
{
cnt++;
}
}
printf("%d\n",cnt);
return 0;
}

供参考~


建议查一下sscanf函数实现;可以看成scanf从s中读取值匹配%d和%c
C语言是一门广泛应用于系统编程、嵌入式软件和高性能应用开发的高级编程语言。本课程旨在向你介绍C语言的基本概念、语法和编程技巧,使你能够掌握C语言的核心知识,并能够用C语言编写简单到中等复杂程度的程序。课程针对0基础初学者,所以课程会由浅入深,由表及里的探索C语言知识框架,慢慢触及C语言本质,课程结构先由简单程序引入,然后拆分程序各个细节,让你逐渐掌握C语言编程的精髓。也会讲解C语言编译过程,怎样将人类描述的语言让计算机能够识别并按我们的意愿运行。C语言程序怎样运行也会详细介绍,了解程序由静到动的过程。课程注重基础理论与实践结合,在重点关注C语言的基础理论知识的同时,我们会结合大量的实际编程练习,对每个重要的知识点和易错的地方都有代码演示并查看程序运行结果,深入理解C语言的运作原理。课程中一半内容是理论知识的讲解,另外一半是代码实操。课程由本人全部从0开始编写,从课程架构思考,内容组织,难易程度,章节划分,都融入了本人对C语言的思考,几乎全是干货,如果你渴望成为一名优秀的C语言编程者,那么不要犹豫!欢迎报名参加我们的课程,让我们一起踏上编程的旅程,共同学习和进步!课程源码:https://gitee.com/sliaowalker/c-language-programming

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧