首页 > 编程语言 >研0 冲刺算法竞赛 day14 P1957 口算练习题

研0 冲刺算法竞赛 day14 P1957 口算练习题

时间:2024-07-10 17:56:01浏览次数:10  
标签:练习题 P1957 数字 int cin day14 sprintf str include

思路:分别考虑以运算符或数字开头,为运算符,直接读入后面两个数字;为数字,在读入一个数字即可

代码:

#include<iostream>
#include<cstring>
#include <cstdio>
using namespace std;

int main()
{
	int N;
	cin >> N;
	char c[10], str[55],f;
	while (N--)
	{
		cin >> c;
		int a, b;
		if (c[0] == 'a' || c[0] == 'b' || c[0] == 'c')//是计算符
		{
			f = c[0];
			cin >> a >> b;
		}
		else {
			sscanf_s(c, "%d", &a);//是数字就将第一个转为数字存储
			cin >> b;
		}
		memset(str, 0, sizeof(str));//清空原有的字符串,防止长度判断错误
		if (f=='a')
		{
			sprintf_s(str, "%d+%d=%d", a, b, a + b);
		}
		else if (f=='b')
		{
			sprintf_s(str, "%d-%d=%d", a, b, a - b);
		}
		else if (f == 'c')
		{	
			sprintf_s(str, "%d*%d=%d", a, b, a * b);
		}
		cout << str << endl << strlen(str) << endl;//输出字符串和字符串长度
	}
	return 0;
}

总结:

利用好sscanf_s(c, "%d", &a);//是数字就将第一个转为数字存储,

memset(str, 0, sizeof(str));//清空原有的字符串,防止长度判断错误

标签:练习题,P1957,数字,int,cin,day14,sprintf,str,include
From: https://blog.csdn.net/remaker15/article/details/140330737

相关文章

  • [CSAWQual 2019]Web_Unagi XXE漏洞练习题
    题目地址:BUUCTF在线评测这道题就是简单的xxe漏洞的注入。进来之后我们进行一个信息收集,在upload下可以看到有个here的超链接。点进去之后得到了如下的一些信息。可以猜到是需要我们利用文件上传包含xxe漏洞利用来得到flag。<?xmlversion='1.0'?><!DOCTYPEusers[<!ENT......
  • 数组练习题(一)
    1.   (销售人员薪金范围)解决以下问题。一家公司以底薪加提成的方式付给销售人员工资。销售人员每周获得200美元的底薪,外加本周达到一定销售额的9%的提成。例如,一个销售人员一周的销售额是5000美元,就会得到200美元加上5000美元的9%,即总共650美元。请编写一个程序(利用一......
  • C语言控制流练习题
    当用户输入5的时候,使用嵌套循环产生下列图案(5行美元符号,每行递增一个字符#include<stdio.h>intmain(void){intline;//输入行数scanf("%d",&line);inti;for(i=1;i<=line;i++)//从每行开始打印{for(intj=1;j<=i;j++)//每一行需要打印数{......
  • java第三十课 —— 面向对象练习题
    面向对象编程练习题第一题定义一个Person类{name,age,job},初始化Person对象数组,有3个person对象,并按照age从大到小进行排序,提示,使用冒泡排序。packagecom.hspedu.homework;importjava.util.SortedMap;publicclassHomework01{publicstaticvo......
  • 【C语言】指针和数组经典练习题(一)
    //一维数组inta[]={1,2,3,4};printf("%d\n",sizeof(a));printf("%d\n",sizeof(a+0));printf("%d\n",sizeof(*a));printf("%d\n",sizeof(a+1));printf("%d\n",sizeof(a[1]));printf("%d\n",sizeof(&a......
  • Oracle day14
    /*createtablef0810(idnumber,timesvarchar2(50));insertintof0810values(1,'2019-12-2511:01');insertintof0810values(2,'2019-12-2511:03');insertintof0810values(3,'2019-12-2511:05');insertintof0810values(4,......
  • 通信原理练习题解析(详细版)
    文章目录说明选择填空简答分析计算说明部分内容,仅为个人观点,如有错误之处,欢迎交流!选择属于数字信号的是(A)​A:PCM信号B:PAM信号C:PDM信号D:PPM信号PCM信号(PulseCodeModulation,脉冲编码调制):P将模拟信号转换为数字信号的方法PDM信号(PulseDensityModula......
  • 学习面向对象前--Java基础练习题
    前言        写给所有一起努力学习Java的朋友们,敲代码本身其实是我们梳理逻辑的一个过程。我们在学习Java代码的过程中,除了需要学习Java的一些基本操作及使用,更重要的是我们需要培养好的逻辑思维。逻辑梳理好之后,我们编写代码实现需要的功能自然也就如鱼得水,因此本篇......
  • AI生成Python之语句练习题
    对应文章:Python学习记录#2、语句涉及:条件语句(if-elif-else)、循环语句(while、for)。目录练习题1.猜数字游戏2. 斐波那契数列(难)3. 九九乘法表4.列表过滤5. 字符串反转练习题1.猜数字游戏        编写一个程序,让计算机随机选择一个1到100之间的整数,......
  • 加更—循环语句的练习题
    加更—循环语句的练习题计算n的阶乘计算1!+2!+3!+……+10!在一个有序数组中查找具体的某个数字n.(讲解二分查找)编写代码,演示多个字符从两端移动,向中间汇聚编写代码实现,模拟用户登陆情景,并且只能登陆三次。(只允许输入3次密码,如果密码正确则提示登陆成功,如果三次均输......