博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
练习3
阅读量:4116 次
发布时间:2019-05-25

本文共 1374 字,大约阅读时间需要 4 分钟。

1.将数组A中的内容和数组B中的内容进行交换。(数组一样大)

这个编程的思路和前面交换两个整数思路一样,编程采用位异或进行交换。

#include
#include
int main(){ int i = 0; int a[] = { 1, 12, 23, 34, 45 }; int b[] = { 2, 43, 54, 56, 67 }; int top = sizeof(a) / sizeof(a[0]); for (; i < top; i++) { a[i] = a[i] ^ b[i]; b[i] = a[i] ^ b[i]; a[i] = a[i] ^ b[i]; printf("%d %d\n", a[i], b[i]); } printf("\n"); system("pause"); return 0;}

2. 计算1/1-1/2+1/3-1/4+1/5 ⋯⋯ + 1/99 - 1/100 的值。

方法1:使用函数pow表示一个数的幂次方,让正负得以实现,得到结果为0.688172.

#include
#include
#include
int main(){ int i=1; double sum = 0.0,n,m; for (; i <= 100; i++) { n = pow((-1), i + 1);使用pow计算1的i幂次方. m = 1.0 / i; sum = sum + (n*m); } printf("%f", sum); system("pause"); return 0;}
方法二,直接使用正负让编程优化。

#include
#include
int main(){ int flag = 1; int i = 1; double sum = 0.0; for (; i <= 100; i++) { sum = sum + (1.0 * flag) / i; flag = -flag;//1和-1交替。 } printf("%f", sum); system("pause"); return 0;}
3. 编写程序数一下 1到 100 的所有整数中出现多少次数字9。
#include
#include
int main(){ int i = 0; int n = 0; for (i = 0; i <= 100; i++) { if (i % 10 == 9)//判断个位出现9 { n++; printf("%d\n", i); } if (i / 10 == 9)//判断十位出现9 { n++; printf("%d\n", i); } } printf("出现9的次数 %d\n", n); system("pause"); return 0;}

注意:不能用逻辑或来判断if (i%10==9||i/10==9)//第一个判断个位数是9,第二个判断十位数是9.这样99只判断了一次,结果为19.


你可能感兴趣的文章
8种ES6中扩展运算符的用法
查看>>
【视频教程】Javascript ES6 教程28—ES6 Promise 实例应用
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
【web素材】03-24款后台管理系统网站模板
查看>>
【5分钟代码练习】02—用CSS Grid实现响应式图片布局的效果
查看>>
Flex 布局教程:语法篇
查看>>
【AngularJS教程】快速入门篇之 双向绑定
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>
【JavaScript 教程】标准库—RegExp 对象
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>
前阿里手淘前端负责人@winter:前端人如何保持竞争力?
查看>>
【JavaScript 教程】面向对象编程——实例对象与 new 命令
查看>>
我在网易做了6年前端,想给求职者4条建议
查看>>
SQL1015N The database is in an inconsistent state. SQLSTATE=55025
查看>>
RQP-DEF-0177
查看>>
Linux查看mac地址
查看>>
Linux修改ip
查看>>
SQL1032N No start database manager command was issued. SQLSTATE=57019
查看>>