C语言循环分支数组练习

目录

一、打印三的倍数

二、从大到小输出

三、三角形判断

四、数9的个数

五、猜数字游戏

六、乘法口诀表

七、求最大值

八、分数求和

九、打印素数

十、打印闰年

十一、最大公约数

十二、打印空心正方形图案

十三、矩阵转置

十四、逆序输出

十五、输入10个整数,求平均值

十六、交换数组


一、打印三的倍数

写一个代码打印1-100之间所有3的倍数的数字


int main()
{int i = 0;for (i=1; i <=100; i++){if (i % 3 == 0){printf("%d\t", i);}}
}

二、从大到小输出

写代码将三个整数数按从大到小输出。

例如:

输入:2 3 1

输出:3 2 1

int main()
{int a, b, c;int temp = 0;scanf("%d %d %d", &a, &b, &c);if (a<b){temp = a;a = b;b = temp;}if (a<c){temp = a;a = c;c = temp;}if (b<c){temp = b;b = c;c = temp;}printf("%d %d %d", a, b, c);}

三、三角形判断

 int main(){int a=1, b=1, c=1;while (scanf("%d %d %d", &a, &b, &c) != EOF){if (a + b > c && a + c > b && b + c > a){if (a == b && b == c){printf("Equilateral triangle!\n");}else if (a == b || b == c || a == c){printf("Isosceles triangle!\n");}else{printf("Ordinary triangle!\n");}}else{printf("Not a triangle!\n");}}return 0;}

四、数9的个数

编写程序数一下 1到 100 的所有整数中出现多少个数字9

int main()
{int i = 0;int count = 0;for(i=1; i<=100; i++){if(i%10==9)count++;if(i/10==9)count++;}printf("%d\n", count);return 0;
}

五、猜数字游戏

//猜数字游戏
//1、使用do while 循环 打印菜单
//2、switch语句判断是否玩游戏
//3、用函数来封装游戏逻辑#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void game()
{//1、生成随机数int r=rand()%100+1;//生成1-100的随机数int guess = 0;//2、猜数字while (1) {printf("请猜数字");scanf("%d", &guess);if (guess>r){printf("猜大了\n");}else if (guess<r){printf("猜小了\n");}else{printf("恭喜你,猜对了!!!\n");break;}}
}int main()
{int input = 0;srand((unsigned int)time(NULL));do{printf("***************\n");printf("****1.play*****\n");printf("****0.exit*****\n");printf("***************\n");printf("请选择:>");scanf("%d", &input);switch (input){case 1:game();break;case 0:printf("退出游戏\n");break;default:printf("选择错误,请重新选择\n");break;}} while (input);return 0;
}

六、乘法口诀表

在屏幕上输出9*9乘法口诀表

int main()
{int i = 0;int j = 0;for (i = 1; i <= 9; i++){for (j = 1; j <= i; j++){printf("%d*%d=%d\t", j, i, i*j);}printf("\n");}return 0;
}

七、求最大值

求10 个整数中最大值

//*设置一个值max假定他为最大值,把其他值与max比较,比max大就把这个大的值给max
int main()
{int i = 0;int arr[10] = { 12,45,32,56,18,2,89,33,20,65 };int max = 0;for (i = 0; i < 10; i++){if (max < arr[i]){max = arr[i];}}printf("%d", max);return 0;
}

八、分数求和

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果

//1、分母是1-100所以用for循环输出,分子不变
//2、因为是小数,所以分子要变成1.0,设置的sum为double类型
//3、设置一个flag变量为1;在每次加的时候去乘flag
int main()
{double sum = 0;int flag = 1;for (int i = 1;  i <=100 ;  i++){sum = sum + 1.0 / i *flag;flag = -flag;}printf("%lf", sum);
}

九、打印素数

写一个代码:打印100~200之间的素数

//怎么判断素数?
//产生2~i-1之间的数字,试除i
//1、输出100-200之间的数
//2、判断是否是素数 
//3、*设置一个变量flag标记
int main()
{int i = 0;int count = 0;for (i = 100; i <=200; i++)//素数不可能是偶数,所以这里可以写成i=101,i<=200;i+=2{int flag = 1;//假设i是素数int j = 0;for (j=2;j <= i-1; j++)//j<=sqrt(i) 开平方  要包含库函数includ <math.h>{if (i%j==0) {flag = 0;//不是素数break;}//不能在后面写if或者之间else,因为只测试了一个数字还有后面很多数字}if (flag == 1){printf("%d\n", i);count++;}}printf("count=%d\n", count);
}

十、打印闰年

打印1000年到2000年之间的闰年

//打印1000-2000年之间的闰年
//能被4整除但不能被100整除,或者能被400整除的年份
int main() {int year = 0;for (year = 1000; year <= 2000; year++){if ((year % 4 == 0 && year % 100 != 0)||year % 400 == 0) {printf("%-5d",year);//%-5d的作用是空格}}
}

十一、最大公约数

给定两个数,求这两个数的最大公约数

例如:

输入:20 40

输出:20

//这里用到辗转相除法,设置两个数,a,b,用a%b,余数为c,
//在用b的值去%c,就是说把b的值给a ,把c的值给b,c为0的时候,最大公约数就是b
int main()
{int a = 80;int b = 50;int c = a%b;while (c != 0){a = b;b = c;c = a % b;}printf("%d", b);
}

十二、打印空心正方形图案

输入:4

输出:

* * * * 
*     * 
*     * 
* * * * 

画图分析:我们可以把这个图案当成一个二维数组,在i = 0 或i= n-1,j= 0 或j= n-1的时候,打印*

int main()
{int n = 0;while(scanf("%d", &n) != EOF){int i = 0;int j = 0;for(i=0; i<n; i++){for(j=0; j<n; j++){if(i==0 || i==n-1)printf("* ");else if(j==0 || j==n-1)printf("* ");elseprintf("  ");}printf("\n");}}return 0;
}

十三、矩阵转置

例如:输入:2 3

1 2 3

4 5 6

输出:

1 4 
2 5 
3 6 

画图分析:我们还是把他看成二维数组,画图之后,清晰发现,矩阵转置就是他们横纵坐标调换

//就是i,j下标互换
int main() {int m, n;//m行n列while (scanf("%d %d", &m, &n) != EOF) { // 注意 while 处理多个 caseint arr[10][10] = {0};for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {scanf("%d", &arr[i][j]);}}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {printf("%d ", arr[j][i]);}printf("\n");}}return 0;
}

十四、逆序输出

输入10个整数,要求按输入时的逆序把这10个数打印出来。逆序输出,就是按照输入相反的顺序打印这10个数。

int main() {int arr[10] = { 0 };for (int i = 0; i < 10; i++) {scanf("%d", &arr[i]);}for (int i = 9; i >= 0; i--) {printf("%d ", arr[i]);}return 0;
}

十五、输入10个整数,求平均值

编写一个程序,从用户输入中读取10个整数并存储在一个数组中。然后,计算并输出这些整数的平均值。

int main() {int arr[10] = { 0 };int sum = 0;float avg = 0;for (int i = 0; i < 10; i++) {scanf("%d", &arr[i]);sum = sum + arr[i];	}avg = sum / 10.0;//注意数据类型printf("%f", avg);return 0;
}

十六、交换数组

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

这个就和交换一个数一样,不过这是数组

int main()
{int tmp = 0;int arr1[6] = {12,26,54,31,9,8};int arr2[6] = { 33,29,45,18,65,30 };for (int i = 0; i < 6; i++){tmp = arr1[i];arr1[i] = arr2[i];arr2[i] = tmp;}for (int i = 0; i < 6; i++){printf("%d ", arr1[i]);}printf("\n");return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/438800.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程控制(一)进程创建与终止

文章目录 进程创建又识fork函数fork函数返回值写时拷贝fork常规用法fork调用失败的原因 进程终止进程退出的三种场景进程常见退出方法main函数return 0使用exit函数使用_exit函数 异常退出 进程创建 又识fork函数 目前我们知道在Linux下创建进程有两种方式&#xff1a; 命令…

基于springboot网上书城交易平台源码和论文

在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括网上书城管理系统的网络应用&#xff0c;在国外网上书城管理系统已经是很普遍的方式&#xff0c;不过国内的书城管理系统可能还处于起步阶段。网上书城管理系统具有网上书城信…

套接字小结

步骤&#xff1a; 1、定义sockaddr_in结构体 并对里面的成员进行初始化 sin_family IPV4还是IPV6 sin_port 端口号 hton: host to net //主机 -> 网络 小端转大端 struct sockaddr_in server_addr , client_addr;//对服务端网络信息结构体进行初始化server_add…

招聘网站简单爬虫_24.1.26

完整程序传送门 24.1.26 前些天接了一个大两届的师兄的小活&#xff0c;做了一下爬boss直聘岗位信息的程序&#xff0c;在这里记录一下 程序框架 定义一个名为paQu的接口函数&#xff0c;用于检查窗口的输入&#xff0c;它接受一个参数self&#xff0c;获取self对象的a属性&am…

第九节HarmonyOS 常用基础组件13-TimePicker

1、描述 时间选择组件&#xff0c;根据指定参数创建选择器&#xff0c;支持选择小时以及分钟。默认以24小时的时间区间创建滑动选择器。 2、接口 TimePicker(options?: {selected?: Date}) 3、参数 selected - Date - 设置选中项的时间。默认是系统当前的时间。 4、属性…

【驱动】TI AM437x(内核调试-07):devmem2直接读写内存、寄存器,devkmem读取内核变量

1、/dev/mem 和 /dev/kmem 1)/dev/mem: 物理内存的全镜像。可以用来访问物理内存 2)/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。kernel部分内存用户空间本不可访问。但是因为所有进程共享内核空间的页表。所以内核虚拟地址对应物理地址是确定的…

python_ACM模式《剑指offer刷题》链表3

题目&#xff1a; 注意&#xff1a; 剑指offer上对这道题目的描述是给定的删除节点是节点指针。这表明这道题可以用时间复杂度为O(1)的方式解决。 而leetcode上对类似本题的描述是&#xff1a; 给定删除节点是节点值&#xff0c;这决定了本题时间复杂度必然至少为O(N)。因为…

写在28岁,回看3年前“啃老”的自己,庆幸当时入了软件测试这行

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 为什么会学习软件测试&#xff1f; 已经28岁了&#xff0c;算一下快过去3年了&#xff0c;刚…

SpringBoot 实现自定义指标监控

一、添加业务监控指标 在 spring-web-prometheus-demo 项目的基础上&#xff0c;我们添加一个 PrometheusCustomMonitor 类。在这里面我们定义了三个业务指标&#xff1a; order_request_count&#xff1a;下单总次数order_amount_sum&#xff1a;下单总金额 Component publ…

Element ui 的组件弹窗 el-dialog点击的时候全屏变灰问题解决

最近在使用Element UI 的弹窗组件的时候发现这个组件各种的应用都没有问题&#xff0c;数据和元素的应用都是正确的但是在点击显示这个弹窗的时候全屏幕都会变灰。 这也不是因为增加了modal 遮挡幕的问题&#xff0c;在经过不断的排查代码的时候基本排除了代码的问题&#xf…

电路笔记 :MOS场效应晶体管+红外遥控+AMS1117 电源模块

三极管&#xff08;BJT&#xff0c;Bipolar Junction Transistor&#xff09;和 MOSFET&#xff08;Metal-Oxide-Semiconductor Field-Effect Transistor&#xff09;是两种不同类型的晶体管&#xff0c;它们在工作原理、性能特性和应用方面有一些重要的区别。 结构和工作原理…

fastapi报错

初始化报错&#xff0c;非常低级错&#xff0c;扇自己10八张 app FastApi()