printf()_scanf()_取余运算符与取模运算符
基本的输入和输出函数的用法
printf();四种用法
1.printf("字符串\n");
2.printf("输出控制符",输出参数);
3.printf("输出控制符1 输出控制符2 。。。",输出参数1,输出参数2);
4.printf("输出控制符 非输出控制符",输出参数);
输出控制符有如下:
%d
%ld
%f
%lf
%x(or %X or %#X or %#x) 最好用%#X 输出如0X2F
%o
%s
scanf();两种用法:
1. scanf("输入控制符",输入参数);
scanf("%d",&i); //&是取地址符,注意%d后面不要加 \n
2. scanf("非输入控制符 输入控制符",输入参数);
非输入控制符必须原样输入
scanf()和printf()例子:
# include <stdio.h> int main(void)
{
int i;
char ch; scanf("%d", &i);
printf("i = %d\n", i);
scanf("%c", &ch);
printf("ch = %c\n", ch); return ;
}
# include <stdio.h> int main(void)
{
int i, j; scanf("%d %d", &i, &j);
printf("i = %d, j = %d\n", i, j); return ;
}
scanf()含有非输入控制符的用法:
# include <stdio.h> int main(void)
{
int i; scanf("m%d", &i); //m123 正确的输入 123是非法的输入
printf("i = %d\n", i); return ;
}
一次给多个变量键盘赋值的方法:
# include <stdio.h> int main(void)
{
int i, j, k; printf("请输入三个值,中间以逗号分隔: ");
scanf("%d,%d,%d", &i, &j, &k);
printf("i = %d, j = %d, k = %d\n", i, j, k); return ;
}
scanf()对用户非法操作的处理:
/*
2015年2月5日17:33:11
目的:scanf对用户非法输入的控制
*/
# include <stdio.h> int main(void)
{
int i;
char ch; scanf("%d", &i);
printf("i = %d\n", i); //.......
while ( (ch=getchar()) != '\n')
continue;
int j;
scanf("%d", &j);
printf("j = %d\n", j); return ;
} /*
输入123m 回车 345
输出:
--------------------
请输入2个数,中间用逗号间隔:
123,333m
i = 123 j = 333
请再输入2个数,中间用逗号间隔:
21,78
j = 333 l = 78
-------------------- 注意:
1. scanf前用printf提示
2. 333m后面多一个m,但是由于中间加了while语句,不影响后面输入
*/
取余运算符与取模运算符
除法/的运算结果和运算对象的数据类型有关,两个都是int则商是int。被除数和除数有一个是浮点型则商也是浮点型
取余%运算符的运算对象必须是整数,结果是余数,其符号和被除数的符号相同
测试取余运算符:
#include <stdio.h> int main(void)
{
printf("%d %d %d %d %d %d %d\n", %, %, %-, -%, -%-, -%, %); return ;
} /*
2015年2月5日20:38:30
取余%运算符的运算对象必须是整数,结果是余数,其符号
和被除数的符号相同
输出结果:
-------------------
0 1 1 -1 -1 -13 3
-------------------
*/
一元二次方程的求解:
# include <stdio.h>
# include <math.h> int main(void)
{
//把三个系数保存到计算机中
int a = ; //=不表示相等,表示赋值
int b = ;
int c = ;
double delta; //delt存放的是 b*b - 4*a*c
double x1; //存放一元二次方程的其中一个解
double x2; //存放一元二次方程的其中一个解 delta = b*b - *a*c; if (delta > )
{
x1 = (-b + sqrt(delta)) / (*a);
x2 = (-b - sqrt(delta)) / (*a);
printf("该一元二次方程有两个解, x1 = %f, x2 = %f\n", x1, x2);
}
else if (delta == )
{
x1 = (-b) / (*a);
x2 = x1; //右边赋给左边
printf("该一元二次方程有一个唯一解, x1 = x2 = %f\n", x1);
}
else
{
printf("无解\n");
} return ;
}
printf()_scanf()_取余运算符与取模运算符的更多相关文章
- java 取模运算% 实则取余 简述 例子 应用在数据库分库分表
java 取模运算% 实则取余 简述 例子 应用在数据库分库分表 取模运算 求模运算与求余运算不同.“模”是“Mod”的音译,模运算多应用于程序编写中. Mod的含义为求余.模运算在数论和程序设计中 ...
- 计算机二级-C语言-程序修改题-190123记录-对整数进行取余和除以操作。
//函数fun功能:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中.高位仍在高位,低位仍在低位. //重难点:思路:因为不是字符串,所以可以把问题变成整数的操作,采用取余和除的操作.对整 ...
- Java之取余操作 "%"
取模运算与取余运算两个概念有重叠的部分但又不完全一致.主要的区别在于对负整数进行除法运算时操作不同. 对于整形数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商 c = a / b: 2. ...
- POJ 1745 线性和差取余判断
POJ 1745 线性和差取余判断 题目大意:每个数都必须取到,相加或相减去,问所有的方案最后的得数中有没有一个方案可以整除k 这个题目的难点在于dp数组的安排上面 其实也就是手动模仿了一下 比如 一 ...
- C++ int型负数除法取余问题
1:关于除法,不管是正数还是负数都是向0取整的:10/4 = 2,10/(-4) = -2 2:负数取余,通过取模来判定 |小| % |大| = |小| 符号同前 |大| % |小| = |余| ...
- 大数计算_BigNum优化_加减乘除乘方取余_带注释_数组
#include <iostream> #include <algorithm> #include <cstring> #include <cstdlib&g ...
- 算数运算符: + - * / //(地板除) %(取余) **(幂运算) / 比较运算符 > < >= <= == !=
# ### python运算符 #(1) 算数运算符: + - * / //(地板除) %(取余) **(幂运算) var1 = 5 var2 = 8 # +res = var1 + var2 pri ...
- python 运算符 取余 取商 in not in
#运算符sum = 9//2 #取商print(sum) sum = 9%2 #取余print(sum) #inname1 = '小林'name2 = '林倩'if '林' in name1: pri ...
- 运算符:三目运算符,运算符优先级,sizeof,自增自减,取余
一://---------运算符-----------// 1.运算符是告诉编译程序执行特定算术或逻辑操作的符号. 2.按照功能划分: 算术运算符. 关系运算符与逻辑运算符.按位运算符. 3.运算符根 ...
随机推荐
- HDU 4283 You Are the One ★(进出栈的括号匹配性质:区间DP)
题意 有一个队列,每个人有一个愤怒值D,如果他是第K个上场,不开心指数就为(K-1)*D.但是边上有一个小黑屋(一个FILO堆栈),可以一定程度上调整上场程序,求一种安排上场方案使得所有人的不开心指数 ...
- echarts在miniUI和ajax下动态渲染数据
<script src="echarts.js"></script> <script src="jquery-3.3.1.min.js&qu ...
- vue组件间传值
父传子 1.父组件:在子组件容器内绑定数据 <router-view :unusedOrderNum="num1" :usedOrderNum="num2" ...
- vue 错误记录
1.错误信息: You may use special comments to disable some warnings.Use // eslint-disable-next-line to ign ...
- windows下的一些命令
dir 相当于linux下的ls clear 清屏 netstat 活动连接 | 管道命令 findstr 查询类似linux的grep tasklist 查看进程列表 taskkill 杀死进程 d ...
- Java基础学习-泛型概述和测试
1.举例 首先先用集合来写个自定义对象存储并且去遍历. package genericity; import java.util.ArrayList; import java.util.Collect ...
- java 静态代理 JDK动态代理 Cglib动态代理
下面以一个简单的银行账户为例讲述讲述动态代理. 设计一个银行账户类,包含用户的账户余额,实现查询和更新余额功能 这个系统用了一段时间,有客户要求对账说账户余额给弄错了?因为上面没有存取款记录,最后银行 ...
- Getting command line access to PHP and MySQL running MAMP on OSX
建立自己profile路径应该在/Users/yourname/,最后要运行. ./.profile使文件生效,和windows中给添加环境变量是一个道理,还可以看出linux和UNIX默认运行路径为 ...
- word中怎么快速选中光标之前或之后的全部内容?
在Word中,快速选中=光标之后=的全部内容的快捷键:Ctrl + Shift + End:在Word中,快速选中=光标之前=的全部内容的快捷键:Ctrl + Shift + Home.在Word中, ...
- Unity 2d 的 SpriteMask为游戏表现带来多种可能性
孙广东 2017.7.22 http://blog.csdn.NET/u010019717 SpriteMask 是Unity 2017.1 开始添加2d功能!, Spri ...