分支和循环 做题解析(二)

发布时间:2021-08-01 00:20 来源:https://blog.51cto.com/panyuji 阅读:53 作者:Perceus 栏目: 云计算

注意:1. 字符串结束\0算一个小标,用sizeof要-2

int main() { int i = 0; int n = 0; int ret = 1; int sum = 0; for(n=1; n<=3; n++) { ret = ret * n; sum = sum + ret; } //ret = 1*1 = 1 //ret = 1*1*2 = 2 //ret = 1*1*2*3 = 6 printf("sum = %d\n", sum); return 0; }

 

一、习题 1.计算 n 的阶乘

这个问题还是比较简单的,n的阶乘可以写成123*…*n,因此可以利用一个循环函数,当<=n 

#include <stdio.h> int main() { int i = 1; int n = 0; int sum = 1; scanf("%d", &n); for (i = 1; i <= n; i++) { sum *= i; } printf("%d\n", sum); return 0; }

#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int k = 7; int i = 0; //用数组占用字节长度除以数组首地址占用字节长度,可得出数组元素个数 int sz = sizeof(arr) / sizeof(arr[0]); for(i=0; i<=sz; i++) { if (k == arr[i]) { printf("找到了,下标是%d\n",i); } else { printf("没找到\n"); } } return 0; }

但结果却是这样

改进如下⬇

3.在一个有序数组中查找具体的某个数字n

题目:编写int binsearch(int x, int v[], int n);

  2.计算 1!+2!+3!+……+10!’

测试算出3的阶乘,应该得到1+2+6=9

免责声明:本站发布的内容(图片、视频和文字)以原创、来自互联网转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:ts@56dr.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。