首页 > 其他分享 >C语言分支与循环(8)--- 练习题(1)

C语言分支与循环(8)--- 练习题(1)

时间:2023-07-25 21:03:15浏览次数:38  
标签:练习题 10 int sum C语言 --- 数组 阶乘 include

一.练习

1.编写一段代码计算n的阶乘

提示:如5的阶乘就是5*4*3*2*1以此类推


例如以下代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
int main(void)
{
	int n;
	int ret = 1;
	printf("请输入n的值:");
	scanf("%d",&n);
	for (int i = 1; i <= n; i++){
		ret = ret*i;
	}
	printf("ret=%d\n",ret);
	system("pause");
	return 0;
}

程序调用scanf()函数要求用户输入阶乘的数字随后声明变量i并为其复赋值(i=1)当i<=n的时候则进入for循环,ret的值等于ret*i,随后将i进行自增,直到i>n不满足入口条件时输出ret的值,如图所示:

C语言分支与循环(8)--- 练习题(1)_for循环


2.计算 1!+ 2! + 3! ····· 10!


#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
int main(void)
{
	int i = 0;
	int ret = 1;
	int n = 0;
	int sum = 0;
	for (n = 1; n <= 10;n++){
		for (i = 1; i <= n; i++){
			ret = ret*i;
		}
		sum = sum + ret;
	}
	printf("sum=%d\n",sum);
	system("pause");
	return 0;
}

与上面代码相类似,内层for循环用于计算1!~ 10!外层循环用于控制内层循环,最后使用sum语句使得sum的值等于ret+sum,最后输出sum的值便求出了1!~10!的阶乘,如图所示:

C语言分支与循环(8)--- 练习题(1)_循环_02


3.编写一个程序,使其在一个有序数组中找到某一个具体的数字n,并输出其下标


#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
int main(void)
{
	int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int k;
	printf("请输入目标数字:");
	scanf("%d",&k);
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (int i = 0; i <= 10; i++){
		if (k == arr[i]){
			printf("已找到!目标数字为%d,数组下标为%d\n", k,i);
		}
	}
	if (k > sz){
		printf("未找到!\n");
	}
	system("pause");
	return 0;
}

代码中定义了arr的有序数组声明了变量k,并等待用户输入,利用sizeof操作符的原理,数组元素个数=数组占用内存总大小/数组单个元素占用内存大小 来计算出数组元素个数,for循环中定义了变量i并为其赋值(i=0)并进行遍历数组操作,当k的值等于数组中某一个元素的值的时候则输出k的数字以及相应数组元素的下标,若k的值大于sz(数组元素总个数)则调用printf()函数输出未找到,程序运行结果如图所示:

C语言分支与循环(8)--- 练习题(1)_循环_03

C语言分支与循环(8)--- 练习题(1)_循环_04

                                                                                                  2023/7/25

                                                                                                      王起舟

标签:练习题,10,int,sum,C语言,---,数组,阶乘,include
From: https://blog.51cto.com/u_16183773/6849572

相关文章

  • 2023-07-25:你驾驶出租车行驶在一条有 n 个地点的路上 这 n 个地点从近到远编号为 1 到
    2023-07-25:你驾驶出租车行驶在一条有n个地点的路上这n个地点从近到远编号为1到n,你想要从1开到n通过接乘客订单盈利。你只能沿着编号递增的方向前进,不能改变方向乘客信息用一个下标从0开始的二维数组rides表示其中rides[i]=[starti,endi,tipi]表示第i位乘客需......
  • APP - Appium-Inspector连接报错Failed to create session, The requested resource c
    APP-Appium-Inspector连接报错Failedtocreatesession,Therequestedresourcecouldnotbefoundappium版本:Appium-Server-GUI-windows-1.22.3-4Appium-Inspector版本:Appium-Inspector-windows-2022.5.4填写好参数连接时报错: 错误信息:错误Failedtocreatesess......
  • Day05-22 多态
    多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)多态存在的条件有继承关系子类重写父类方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态性。ins......
  • PG-DBA培训07:PostgreSQL体系结构深入与源码解析 原创
    PostgreSQL体系结构深入解析,PostgreSQL数据库源码解析,initdb源码解析PostgreSQL数据库体系架构PostgreSQL数据库存储结构PostgreSQL数据库进程结构PostgreSQL数据库内存结构PostgreSQL数据库源码解析使用gdb跟踪分析PostgreSQL源码PostgreSQL源码解析之initdb初始化过程Postgre......
  • PG-DBA培训09:PostgreSQL用户权限与安全管理
    PostgreSQL数据库用户角色管理,访问控制管理,ssl访问,密码策略,审计管理,等保评测PostgreSQL数据库用户角色管理PostgreSQL访问控制管理PostgreSQLSSL安全访问PostgreSQL密码策略管理PostgreSQL审计管理PostgreSQL等保评测安全建议方案课程地址: https://edu.51cto.com/course/3......
  • PG-DBA培训08:PostgreSQL实例管理与参数文件
    PostgreSQL管理工具,参数文件源码分析,控制文件损坏恢复,系统表索引损坏,插件开发PostgreSQLPSQL管理工具使用PostgreSQL数据库参数文件PostgreSQL如何读取参数文件(源码)PostgreSQL数据库控制文件PostgreSQL控制文件损坏恢复案例PostgreSQL数据库日志文件PostgreSQL系统表与系......
  • Vue详解----一篇带你从头领悟到尾,享受飞升的感觉
    ......
  • Codeforces Round 886 (Div. 4) D - H
    D.BalancedRoundProblem-D-Codeforces双指针,贪心题意:​ 给出\(n\)个数,我们可以删去其中若干个数,使得删完后的数重新排列任意相邻的数之差绝对值不超过\(k\),输出最小删去数的个数思路:​ 很明显可以先将给出的数组进行排序。对于排序后的数组,我们可以将其分为若干个相邻......
  • Android 多线程编程 - 线程的基本使用
    1.线程的状态New:新创建状态。线程被创建,还没有调用start方法,在线程运行之前还有一些基础工作要做。Runnable:可运行状态。一旦调用start方法,线程就处于Runnable状态。一个可运行线程可能正在运行,也可能没有运行,这取决于操作系统给线程提供运行的时间。Blocked:阻塞状态。表示线程被......
  • day119 - spring-获取bean
    获取bean根据id获取上一篇的入门文章讲解的就是根据id获取bean的方式根据类型获取@TestpublicvoidtestIOC(){//获取ioc容器ApplicationContextioc=newClassPathXmlApplicationContext("spring-ioc.xml");//获取beanStudentstudent=ioc.getBean......