fork download
  1. //#include <stdio.h>
  2. //int main()
  3. //{
  4. // int a=10;
  5. // int b=20;
  6. // printf("%d\n",a+b);
  7. // printf("%d\n",a*b);
  8. // printf("%d\n",a/b);//最近一次将一切都该回原始int b=20以及%d后面报出的是0,是因为int是整型10/20为0.5因此它只取前面的0
  9. //前一次运算的时候“int b=20”而不是20.0。改成20.0还是不行。无论我d改为f,还是改回来都不行以及a=10.0我也试过了不行
  10. //int b改为float b也不行,其他都不改变将b改为b.0会报错
  11. // printf("%d\n",b/a);
  12. // printf("%d\n",4+234);
  13. // printf("%d\n",678-345);
  14. // printf("%d\n",34/17);
  15. // printf("%.8f\n",10/3.0);
  16. //这里前一次在%后面输的是“8”而不是".8"导致最后输出的数为3.333333是小数点后6位而不是我设定的后8位。
  17. // return 0;
  18.  
  19. //}
  20.  
  21. //求模运算符% /得商 %得余(仅用于整数间)
  22. //int main()
  23. //{
  24. // printf("%d\n",123%10);// 123/10=12.3 最后输出3
  25. // printf("%d\n",123%100);// 123/100=1.23 最后输出23
  26. // printf("%d\n",1234%100);// 1234//100=12.34 最后输出34
  27. // return 0;
  28. //}
  29.  
  30. //负数求余:结果的正负号由第一个操作符决定
  31. //int main()
  32. //{
  33. // printf("%d\n",11%-5);//输出1
  34. // printf("%d\n",-11%5);//输出-1
  35. // printf("%d\n",11%5);//输出1
  36. // printf("%d\n",-11%-5);//输出-1
  37. // return 0;
  38. //}
  39.  
  40. //赋值操作符
  41. //number 1.简单的操作符
  42. //int main()
  43. //{
  44. // int a=10;//(这叫初始化不叫赋值)
  45. // printf("%d\n",a=20);//这叫赋值 最后输出20
  46. // printf("%d\n",a=4+5);//这是将右边的值赋给左边 最后输出9
  47. // return 0;
  48. //}
  49.  
  50. //复合连赋
  51. //int main()
  52. //{
  53. // int a=10;
  54. // a=a+3;//或者写a+=3(这里表示一个意思:a自增三)
  55. // printf("%d\n",a);//结果为13
  56. // return 0;
  57. //}
  58. //第二种
  59. //int main()
  60. //{
  61. // int a=30;
  62. // a+=23;//(a原本的值为30,自增23后输出53)
  63. // printf("%d\n",a);
  64. // return 0;
  65. //}
  66. //第三种
  67. //int main()
  68. //{
  69. // int a=10;
  70. // a = a%3;
  71. // printf("%.3f",a);//因为前面的a是int类型的,而这里的用了float类型,所以输出的是0.000。可以用一下强行转型的方法
  72. // return 0;
  73. //}
  74. //{
  75. // int a=10;
  76. // a = a%3;
  77. // printf("%.3f\n",(double)a);//因为10/3的余数为1,所以输出1(%输出余数)接下来用/试试
  78. // return 0;
  79. //}
  80.  
  81. // #include <stdio.h>
  82. // int main()
  83. // {
  84. // int a=10;
  85. // a%=3;
  86. // printf("%d\n",a);//结果余一,因为%仅输出整数相除的余数
  87. // return 0;
  88. // }
  89.  
  90. //强制转型符
  91. // int main()
  92. // {
  93. // int a=(int)3.14;
  94. // printf("%d\n",a);
  95. // return 0;
  96. // }
  97.  
  98.  
  99.  
  100. //{
  101. // int a=10;
  102. // a =a/3;
  103. // printf("%d\n",a);//输出整数3
  104. // return 0;
  105. //}
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. //number 2.连续赋值
  114. //int main()
  115. //{
  116. // int a=3;
  117. // int b=5;
  118. // int c=0;
  119. // printf("%d\n",c=b=a+3);//这里是向右赋值,即:a+3=6,那么b=6,然后c=b,即c=6
  120. // return 0;
  121. //}
  122. //第二种写法,会比第一种更方便看,但不为连赋
  123. //int main()
  124. //{
  125. // int a=3;
  126. // int b=5;
  127. // int c=0;
  128. // printf("%d\n",b=a+3);
  129. // printf("%d\n",c=b);//此次及上面65行均不为连赋
  130. // return 0;
  131. //}
  132.  
  133. //sizeof操作符
  134. // int main()
  135. // {
  136. // printf("%zu\n",sizeof(char));//输出1
  137. // printf("%zu\n",sizeof(_Bool));//输出1
  138. // printf("%zu\n",sizeof(float));//输出4
  139. // printf("%zu\n",sizeof(short));//输出2
  140. // printf("%zu\n",sizeof(int));//输出4
  141. // printf("%zu\n",sizeof(long));//输出8
  142. // printf("%zu\n",sizeof(long long));//输出8
  143. // printf("%zu\n",sizeof(double));//输出8
  144. // printf("%zu\n",sizeof(long double));//输出16
  145. // return 0;
  146. // }
  147.  
  148. //全局编译e.g int num1
  149. //局部编译e.g int num2
  150. // #include <stdio.h>
  151. // int num1 =20;
  152. // int main()
  153. // {
  154. // int num2 =10;
  155. // printf("%d\n",num1);
  156. // printf("%d\n",num2);
  157. // return 0;
  158. // }
  159.  
  160. //printf占位符
  161. // #include <stdio.h>//头文件
  162. // int main()
  163. // { char Zhangsan[] = "Zhangsan.";
  164. // printf("there are %d apples.\n",3);
  165. // printf("Zhangsan will come back tonight.\n");
  166. // printf("%s will come back tonight.\n",Zhangsan);//这里之前报错过,因为没带有声明“char Zhangsan[] = "Zhangsan";”
  167. // printf("Zhangsan said:It's 9 o'clock now.\n");
  168. // printf("%s said:It's %d o'clock now.",Zhangsan,9);
  169. // return 0;
  170. // }
  171.  
  172. //赋值忽略符
  173. //正常时用户输入的格式必须符合格式,如下
  174. // int main()
  175. // {
  176. // int a=0;
  177. // int b=0;
  178. // scanf("%d%d",&a,&b);
  179. // printf("a =%d\nb =%d\n",a,b);//此时输入10 20格式的内容时,系统会输出a=10
  180. // //b=20
  181. // //但是当我输入10,20时系统识别不到b,而输出b=0
  182. // //是因为格式不正确
  183. // return 0;
  184. // }
  185.  
  186. //第二种格式
  187. // int main()
  188. // {
  189. // int a=0;
  190. // int b=0;
  191. // scanf("%d,%d",&a,&b);
  192. // printf("a=%d\nb=%d\n",a,b);//此时必须输入“10,20”的格式才可以输出a=10和b=20
  193. // return 0;
  194. // }
  195. //第三种
  196. // #include <stdio.h>
  197. // int main()
  198. // {
  199. // int year=0;
  200. // int month=0;
  201. // int day=0;
  202. // scanf("%d-%d-%d",&year,&month,&day);//这里只能用1999-02-11的格式,像1999/02/11这种的或者其他格式都不行
  203. // printf("%d %d %d\n",year,month,day);//输入正确格式后其会输出:1999 02 11
  204. // return 0;
  205. // }
  206. //如果想要输入任意格式都可执行,需要运用到赋值忽略符
  207.  
  208. // #include <stdio.h>
  209. // int main()
  210. // {
  211. // int year=0;
  212. // int month=0;
  213. // int day=0;
  214. // scanf("%d%*c%d%*c%d",&year,&month,&day);//这种格式的必须在1999和12和11之间输入分隔符e.g-和/
  215. // printf("%d %d %d",year,month,day);
  216. // return 0;
  217. // }
  218.  
  219. //不用分隔符时,也不能用赋值忽略符
  220. // int main()
  221. // {
  222. // int year=0;
  223. // int month=0;
  224. // int day=0;
  225. // scanf("%4d%2d%2d",&year,&month,&day);//这里的4,2,2是指要%d只读4个字符,2字符,2个字符
  226. // printf("%d %d %d",year,month,day);//这时直接输入19991211即可不用输分隔符
  227. // return 0;
  228. // }
  229. // int main()
  230. // { char Zhangsan[] = "Zhangsan";//字符数组用来存放名字,这里不能用int
  231. // printf("%s says,it's %d o'clock\n",Zhangsan,10);
  232. // return 0;
  233. // }
  234.  
  235. //输出格式
  236. // int main()
  237. // {
  238. // printf("%d\n",123);//输出为123
  239. // printf("%5d\n",123);//输出为 123,在一之前有两个空格,以及默认为右对齐
  240. // printf("%-5d\n",123);//输出为123 ,再三后有两个空格,以及加了负号后为左对齐
  241. // printf("%f\n",123.456);//这里输出123.456000因为%f默认输出小数点后6位
  242. // printf("%12f\n",123.456);//这里输出 123.456000加上小数点和前面的空格为12个字符,即右对齐
  243. // return 0;
  244. // }
  245.  
  246. //总显正号,正在默认情况下printf函数不显正号显负号,而在%后面加个+即可总显正号
  247. // int main()
  248. // {
  249. // printf("%d\n",12);//==12
  250. // printf("%+d\n",12);//==+12
  251. // printf("%d\n",-12);//==-12
  252. // printf("%+d\n",-12);//==-12,则由以上在使用printf函数的前提下可知在%后面加+可以使原本为正数的数字显正号
  253. // return 0; //而对原本为负号的数字无用
  254. // }
  255.  
  256. //限定小数位数:前面已经知道了%f默认小数的后六位,而在%后面加上“.数字“就可以限制其在小数点后面的位数
  257. // int main()
  258. // {
  259. // printf("%f\n",1.2374);//==1.237400
  260. // printf("%.3f\n",1.2374);//==1.237小数点后3位
  261. // printf("%.2f\n",1.2374);//==1.24小数点后2位,而且会四舍五入
  262. // //同时与前面的知识结合
  263. // printf("%10.3f\n",1.2374);//== 1.237,前面有5个空格,且10表示的是向右对齐并一共有10个字符,3是指小数点后三位
  264. // printf("%5.2f\n",1.2374);//== 1.24,前面有一个空格
  265. // return 0;
  266. // }
  267.  
  268.  
  269. //输出部分字符串:在%s的%后面加上“.数字”,如下,
  270. // int main()
  271. // {
  272. // printf("%s\n",abcdef);
  273. // printf("%.3f\n"abcdef);
  274. // return 0;
  275. // }
  276. //scanf函数
  277. #include <stdio.h>
  278. // int main()
  279. // {
  280. // int score =0;
  281. // scanf("%d",&score);//scanf是读取int而为接下来的score预留内存,相当于是给score预定“座位”
  282. // printf("请输入成绩:");
  283. // printf("成绩是:%d\n",score);//这里的应该是前面编写过printf的占位符
  284. // return 0;
  285. // }
  286.  
  287. //第二种
  288. // int main()
  289. // {
  290. // int a=0;
  291. // int b=0;
  292. // float x=0;//此时如果直接在input中输入1234.14.567会导致读取失败,因为格式不对
  293. // float y=0;//所以应该在想要分开的地方加一个空格,或者直接在input中换行
  294. // scanf("%d%d%f%f",&a,&b,&x,&y);
  295. // printf("a=%d\n",a);
  296. // printf("b=%d\n",b);
  297. // printf("x=%f\n",x);
  298. // printf("y=%f\n",y);
  299. // return 0;
  300. // }
  301. //如果想要用.作为分隔符的话可以改变形式,如下
  302. // int main()
  303. // {
  304. // int a=0;
  305. // int b=0;
  306. // float x=0;
  307. // float y=0;
  308. // scanf("%d.%d.%f.%f",&a,&b,&x,&y);//输入1234.456.5778.34.123
  309. // printf("a=%d\n",a);//输出a=1234,b=456,x=5778。339844,y=123。000000
  310. // printf("b=%d\n",b);
  311. // printf("x=%f\n",x);
  312. // printf("y=%f\n",y);
  313. // return 0;
  314. // }
  315. //scanf返回值
  316. // int main()
  317. // {
  318. // int a=0;
  319. // int b=0;
  320. // float f=0.0f;
  321. // int r=scanf("%d %d %f",&a,&b,&f);
  322. // printf("a=%d,b=%d,f=%.1f\n",a,b,f);//输入10 20 3.5
  323. // printf("r=%d\n",r);//输出a=10,b=20,f=3.5和r=3(表示scanf成功识别到了三个数)
  324. // return 0;
  325. // }
  326. //测试一次都没读到的情况
  327. // int main()
  328. // {
  329. // int a=0;
  330. // int b=0;
  331. // float f=0;
  332. // int r=scanf("%d %d %f",&a,&b,&f);
  333. // printf("a=%d,b=%d,f=%f\n",a,b,f);
  334. // printf("r=%d\n",r);
  335. // return 0;
  336. // }
  337. //要区分输入失败和文件结束:当我们在input中输入不符合格式要求的内容时会导致输入失败,此时r=0
  338. //当我在input中不输入任何内容,此时就会导致scanf返回EOF,而使r=-1
  339.  
  340. //同时我们可以将scang返回值利用起来,如下
  341. // int main()
  342. // {
  343. // int sensor_val=0;//如果scanf的返回值不为1那么,说明读取失败(可能是EOF或格式错误)
  344. // if (scanf("%d",&sensor_val)!=1)
  345. // {//说明读取失败(e.g传感器掉线,传了乱码),触发异常处理
  346. // printf("数据异常,跳过当前帧\n");//输出这个说明input中格式错误或者是input中没有输入内容因而EOF
  347. // }//而在input中输入100或其他格式正确的内容,那么他success后什么都不输出,而当我输入sajdha等乱码时就会
  348. // //输出:数据异常,跳过当前帧
  349. // return 0;
  350. // }
  351.  
  352. //只能算一次
  353. int main()
  354. {
  355. int a=0;
  356. int b=0;
  357. scanf("%d %d",&a,&b);
  358. int c=a-b;
  359. printf("%d\n",c);
  360. return 0;
  361.  
  362. }
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
Success #stdin #stdout 0s 5320KB
stdin
88 34
stdout
54