精华内容
下载资源
问答
  • 2021-05-09 11:42:12

    编程实现简单的计算器功能,要求用户按如下格式从键盘输入算式:
    操作数1 运算符op 操作数2
    计算并输出表达式的值,其中算术运算符包括:加(+)、减(-)、乘()、除(/)、^(次幂)。
    要求使其能进行浮点数的算术运算,同时允许使用字符
    、x与X作为乘号,并且允许输入的算术表达式中的操作数和运算符之间可以加入任意多个空格符。
    **输入格式要求:"%f %c%f" 提示信息:“Please enter the expression:\n”
    **输出格式要求:"%f + %f = %f \n" “%f - %f = %f \n” “%f * %f = %f \n” “%f / %f = %f \n” “Division by zero!\n” “%f ^ %f = %f \n” “Invalid operator! \n”

    代码:

    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    int main()
    {
        float x,y;
        char op;
        printf("Please enter the expression:\n");
        scanf("%f %c%f",&x,&op,&y);
        switch(op)
        {
        case '+':
            printf("%f + %f = %f \n",x,y,x+y);
            break;
        case '-':
            printf("%f - %f = %f \n",x,y,x-y);
            break;
        case '*':
        case 'x':
        case 'X':
            printf("%f * %f = %f \n",x,y,x*y);
            break;
        case '/':
            if(y==0)
                printf("Division by zero!\n");
            else
                printf("%f / %f = %f \n",x,y,x/y);
            break;
        case '^':
            printf("%f ^ %f = %f \n",x,y,pow(x,y));//求次幂需要使用pow函数
            break;
        default:
            printf("Invalid operator! \n");
        }
        return 0;
    }
    
    更多相关内容
  • 利用C++ SOCKET编程,自我实现的一个websocket服务器,能够比较好的移植,没有使用开源库
  • 编程实现文件合并和去重操作 对于两个输入文件,即文件A和文件B,请编写MapReduce程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新的输出文件C。下面是输入文件和输出文件的一个样例供参考。 输入文件A...

    一、实验目的

    1. 通过实验掌握基本的MapReduce编程方法;
    2. 掌握用MapReduce解决一些常见的数据处理问题,包括数据去重、数据排序和数据挖掘等。

    二、实验平台

    1. 操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04)
    2. Hadoop版本:3.1.3

    三、实验内容

    编程实现文件合并和去重操作

    对于两个输入文件,即文件A和文件B,请编写MapReduce程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新的输出文件C。下面是输入文件和输出文件的一个样例供参考。

    输入文件A的样例如下:

    20150101 x
    20150102 y
    20150103 x
    20150104 y
    20150105 z
    20150106 x
    

    输入文件B的样例如下:

    20150101 y
    20150102 y
    20150103 x
    20150104 z
    20150105 y
    

    根据输入文件A和B合并得到的输出文件C的样例如下:

    20150101 x
    20150101 y
    20150102 y
    20150103 x
    20150104 y
    20150104 z
    20150105 y
    20150105 z
    20150106 x
    

    四、实验步骤

    进入 Hadoop 安装目录,启动 hadoop:

    cd /usr/local/hadoop
    sbin/start-dfs.sh
    

    新建文件夹,创建文件 A、B:

    sudo mkdir MapReduce && cd MapReduce
    sudo vim A
    sudo vim B
    

    编写 Java 文件实现 MapReduce:

    sudo vim Merge.java
    

    实现的 Java 代码如下:

    import java.io.IOException;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Job;
    import org.apache.hadoop.mapreduce.Mapper;
    import org.apache.hadoop.mapreduce.Reducer;
    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
    import org.apache.hadoop.util.GenericOptionsParser;
    
    public class Merge {
    	/**
    	 * @param args
    	 * 对A,B两个文件进行合并,并剔除其中重复的内容,得到一个新的输出文件C
    	 */
    	//重载map函数,直接将输入中的value复制到输出数据的key上
    	public static class Map extends Mapper<Object, Text, Text, Text>{
    		private static Text text = new Text();
    		public void map(Object key, Text value, Context context) throws IOException,InterruptedException{
    			text = value;
    			context.write(text, new Text(""));
    		}
    	}
    	
    	//重载reduce函数,直接将输入中的key复制到输出数据的key上
    	public static class Reduce extends Reducer<Text, Text, Text, Text>{
    		public void reduce(Text key, Iterable<Text> values, Context context ) throws IOException,InterruptedException{
    			context.write(key, new Text(""));
    		}
    	}
    	
    	public static void main(String[] args) throws Exception{
    		// TODO Auto-generated method stub
    		Configuration conf = new Configuration();
    conf.set("fs.default.name","hdfs://localhost:9000");
    		String[] otherArgs = new String[]{"input","output"}; /* 直接设置输入参数 */
    		if (otherArgs.length != 2) {
    			System.err.println("Usage: wordcount <in><out>");
    			System.exit(2);
    			}
    		Job job = Job.getInstance(conf,"Merge and duplicate removal");
    		job.setJarByClass(Merge.class);
    		job.setMapperClass(Map.class);
    		job.setCombinerClass(Reduce.class);
    		job.setReducerClass(Reduce.class);
    		job.setOutputKeyClass(Text.class);
    		job.setOutputValueClass(Text.class);
    		FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
    		FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
    		System.exit(job.waitForCompletion(true) ? 0 : 1);
    	}
    }
    

    赋予用户相关权限:

    sudo chown -R hadoop /usr/local/hadoop
    

    添加编译所需要使用的 jar 包:

    vim ~/.bashrc
    

    添加下面一行到文件的最后:

    export HADOOP_HOME=/usr/local/hadoop
    export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
    

    使更改立即生效:

    source ~/.bashrc
    

    编译 Merge.java:

    javac Merge.java
    

    打包生成的 class 文件为 jar 包:

    jar -cvf Merge.jar *.class
    

    创建 Hadoop 主目录为 /user/hadoop 并创建 input 文件夹:

    /usr/local/hadoop/bin/hdfs dfs -mkdir -p /user/hadoop
    /usr/local/hadoop/bin/hdfs dfs -mkdir input
    

    若 intput 已存在则删除原有文件:

    /usr/local/hadoop/bin/hdfs dfs -rm input/*
    

    上传 A、B 文件到 input 文件夹中:

    /usr/local/hadoop/bin/hdfs dfs -put ./A input
    /usr/local/hadoop/bin/hdfs dfs -put ./B input
    

    使用之前确保 output 文件夹不存在:

    /usr/local/hadoop/bin/hdfs dfs -rm -r output
    

    使用我们刚生成的 Merge.jar 包:

    /usr/local/hadoop/bin/hadoop jar Merge.jar Merge
    

    查看输出结果:

    /usr/local/hadoop/bin/hdfs dfs -cat output/*
    

    输出如下:

    hadoop@fzqs-Laptop:/usr/local/hadoop$ hdfs dfs -cat output/*
    20170101 x	
    20170101 y	
    20170102 y	
    20170103 x	
    20170104 y	
    20170104 z	
    20170105 y	
    20170105 z	
    20170106 x
    hadoop@fzqs-Laptop:/usr/local/hadoop$ 
    

    此外,有想用 Python 写的可以参考我这篇博客:实验5 MapReduce初级编程实践(Python实现)

    展开全文
  • 编程实现简单的计算器功能(swich)

    千次阅读 2021-11-25 16:44:53
    编程实现简单的计算器功能,要求用户按如下格式从键盘输入算式: 操作数1 运算符op 操作数2 计算并输出表达式的值,其中运算符为:加( + )、减( - ),乘( * )、除( / ) 用switch语句编程实现 #define _...

    编程实现简单的计算器功能,要求用户按如下格式从键盘输入算式:
      操作数1 运算符op 操作数2
      计算并输出表达式的值,其中运算符为:加( + )、减( - ),乘( * )、除( / )
      用switch语句编程实现

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    int main()
    {
        char op;
        float x, y;
        printf("输入运算式子 :");
        scanf("%f%c%f", &x, &op, &y);
        printf("结果为:");
        switch (op)
        {
        case '+':printf("%f\n", x + y); break;
        case '-':printf("%f\n", x - y); break;
        case '*':printf("%f\n", x * y); break;
        case '/':printf("%f\n", x / y); break;
        default:printf("请输出正确的运算符与数字\n");
    
        }
    
        return 0;
    }

    ​​​​​​​

    展开全文
  • 图像配准技术及其MATLAB编程实现源码及自己测试M文件
  • 回文数,用scratch编程实现回文数

    千次阅读 2022-04-01 22:13:15
    回文数 “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类...小数没有回文数 编程实现 实现效果 如果觉得本文写得不错顺手点个赞!

    回文数

    “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。

    设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。

    注意:
    1.偶数个的数字也有回文数124421
    2.小数没有回文数

    编程实现

    在这里插入图片描述

    实现效果

    在这里插入图片描述

    如果觉得本文写得不错顺手点个赞!

    展开全文
  • 西瓜书习题 3.3 编程实现对率回归

    千次阅读 多人点赞 2019-07-09 10:10:56
    西瓜书习题 3.3 编程实现对率回归,并给出西瓜数据集上的结果 西瓜数据集如下: ID density Sugar_content label 0 1 0.697 0.4600 1 1 2 0.774 0.3760 1 2 3 0.634 0.2640 1 3 4 ...
  • y=3x+2(x)y=-x+1(x>=0)...1、编程实现下列函数的计算,输入x的值,输出y的值。 y=3x+2 (x) y=-x+1 (x>=0)展开。 #include void main() { int x,y; scanf("%d",&x); if (x=100) y=3*x+1; printf("%d",y); } #include ...
  • STM32 Keil下编程实现LED灯点亮与闪烁

    万次阅读 多人点赞 2020-10-06 19:15:28
    基于STM32F10C8T6在Keil下编程实现LED灯点亮与闪烁 一、原理图 1.STM32F103C8T6 STM32F103C8T6是ST在2007年发布的一款MCU,截止目前ST已经发布了速度高达400MHz的STM32H7。三点好处,一是封装比较大,方便初学者焊接...
  • C语言:编程实现计算n的阶乘。

    千次阅读 2021-02-07 17:47:09
    C语言:编程实现计算n的阶乘。
  • 要求用数组作为函数参数编程实现计算最大值的函数FindMax(), 即按照如下函数原型编写该函数: int FindMax(int num[], int n); 要求:1)在主函数中打印输出函数求得的最大值, 必须用函数编程,否则不给分。 2)...
  • void Inverse(char str[], char ptr[]); 输入提示信息:"Input a string:" 输入字符串用gets() 输出提示信息:"Inversed results:%s\n" 程序运行示例: Input a string:abcdefg↙ Inversed results:gfedcba ...
  • MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,应用领域十分广泛,可以用来进行以下各种工作:数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、...
  • 用指针做函数参数自己编程实现字符串连接函数strcat()的功能。CQUPT题库 下面程序中存在比较隐蔽的错误,请通过分析和调试程序,发现并改正程序中的错误。 注意:请将修改正确后的完整源程序拷贝粘贴到答题区内。 ...
  • 编程实现字符串连接函数strcat()

    千次阅读 2020-03-29 19:34:21
    按如下函数原型编程实现字符串连接函数strcat()的功能。 void MyStrcat(char dstStr[], char srcStr[]); 输入提示信息: “Input a string:” “Input another string:” 输入字符串用gets() 输出提示信息和格式:...
  • 【例1】从键盘任意输入两个整数,编程实现将其交换后再重新输出。试分析下面的程序能实现这一功能吗?如果不能,该如何修改程序呢? #includevoid Swap (intx,int y);int main (){int a,b;printf ("Please enter a,...
  • 中值滤波(matlab自编程实现

    千次阅读 2022-03-28 20:27:56
    该文章介绍了中值滤波的原理及作用,并且自编程实现了基于matlab的中值滤波
  • 实验5.3 编程实现两字符串的连接(使用字符数组)

    千次阅读 多人点赞 2020-06-01 19:24:04
    编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数 AC的C++代码如下: #include<iostream> using namespace std; int main() { int m,n; //让用户输入一个长度值,用来做动态分配的...
  • Matlab编程实现图像放大

    万次阅读 多人点赞 2018-11-07 23:41:04
    Matlab编程实现图像放大 这些代码是根据冈萨雷斯的《数字图像处理》(第三版) 里的第二章的2.6.5阐述的原理编写的,空间变换用的是反向映射,插值方法用的是双线性插值。 PS:这是我
  • 二叉树基本操作的编程实现,掌握二叉树的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找等操作,存储结构主要采用顺序或链接结构。也鼓励学生利用基本操作进行一些应用的程序设计。 三、...
  • 从键盘任意输入两个整数,用指针作函数参数,编程实现将其交换后再重新输出。 函数接口: void swap(int *x, int *y) 输入格式: 从键盘输入两个整数。 输出格式: 按输出样例的形式输出交换后的两个整数。 样例...
  • 网络时代如何保证安全,SSL、PKI等技术如何在程序中实现,本书的示范代码将给你指路。
  • 使用QT编程实现图像显示

    千次阅读 2018-10-23 17:47:11
    使用QT编程实现图像显示
  • 图基本操作的编程实现,掌握图的建立、遍历、插入、删除等基本操作的编程实现,存储结构可以在顺序结构、链接结构、联合使用多种结构等中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。 三...
  • 编程实现以下图形打印。要求要打印的图形行数(n)从键盘读入。 ***输入提示信息**:"Input n:\n" ***输入数据格式**:"%d" ***输出数据格式**: 若n=3,则要打印的图形为: * *** ***** 若n=5,则要打印的图形为...
  • 编程实现:输入一个英文句子,将句子中每个单词的首字母大写后输出.#includevoidmain(){charx[100];inti;printf("请输入英语句子\n");gets(x);x[0]=x[0]-32;for(i=1;x[i]!='\0';i++){编程提示用户输入两个正整数,并求...
  • 编程实现:NextDate函数问题说明:输入一个日期,求从输入日期算起的第三天日期。例如,输入为2008年8月8日,则该程序的输出为2008年8月 10日。NextDate函数包含三个整数变量month、day和year,并且满足下列条件:1...
  • DES加密算法编程实现

    万次阅读 2017-03-31 21:46:15
    课程上比较好玩的实验,分享出来给大家一起学习~DES加密算法编程实现华南理工大学 软件学院 陈春华 (博士) 实验目的 通过使用DES 算法对实验数据进行加密和解密,掌握现代分组密码算法基本原理,熟练掌握DES 算法各...
  • 9.4 试编程实现k均值算法,设置三组不同的k值、三组不同初始中心点,在西瓜数据集4.0上进行试验比较,并讨论什么样的初始中心有利于取得好结果。 K-means算法:初始随机的中心点不同会导致算法的迭代次数与最终结果...
  • C语言编程实现汉诺塔问题

    千次阅读 2019-07-27 16:19:31
    C语言编程实现汉诺塔问题 1.首先解释一下,汉诺塔问题:古代梵塔内有A、B、C3个座,开始时A座上面有64个盘子,盘子大小不等,大的在下,小的在上。一个老和尚想把64个盘子从A移到C,规定移动过程中3个座上面始终...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,663,270
精华内容 1,065,308
关键字:

编程实现