当前位置: 首页 > news >正文

【c语言】函数_作业详解

前言:

对应鹏哥专升本c语言,49集

内容:

第一题,就是if =5就是赋值,不是判断,然后会循环打印5

#include <stdio.h> 
int main()
{int i = 0;for (i=0; i<10; i++){if(i=5)printf("%d", i);}} 

第二题

if语句,只要接大括号就可以执行多条语句了

if语句是,0假,非0真

第三题

 switch语句中的default可以放在任意位置是对的,可以放前面,也可以放后面,但是不能乱放

就不能放在switch语句外边

c语言代码没有规定严格的顺序结构,只是理解,美观

char - 也是整型家族的,因为字符存储的时候,存储的是ascii值

这里可以就是3、4、5合在一起写,然后就是打印的是相同的,就不用重复写了

int main()
{int n = 0;scanf("%d", &n);switch(n){default:printf("hehe");break;case 1:printf("buhehe");break;case 2:case 3:case 4:printf("buxixi");break;}return 0;} 

第4题,也是switch语句

讲的是switcch语句,然后就是如果没有break的话,就会一直往下循环,

就算遇到default语句,他也会进去执行相应结果

第5题,switch语句

switch(n),就是讲的是switch接收的参数类型为int类型,就必须是整型

第6题,switch语句

就算是switch循环嵌套了一个switch循环,里面循环结束了,也会执行后面的case语句,看题就明白了,就是这个,细品

int main()
{int x =3;int y =3;switch(x % 2){case 1:switch(y){case 1:printf("hehe");case 2:printf("buxixi");case 3:printf("hello");}case 2:printf("third");}return 0;} 

第7题,写一个数,这个好像比上课的难低,但是忘记上课怎么写了

不用函数的方式

int main()
{int a = 0;int b = 0;int c = 0;//输入scanf("%d %d %d", &a, &b, &c);int tmp = 0;if(a < b){tmp = a;a = b;b = tmp;}if(a < c){tmp = a;a = c;c = tmp;}if(b < c){tmp = b;b = c;c = tmp;}//输出printf("%d %d %d", a, b, c);return 0;} 

用函数的形式写,直接定义一个swap交换函数,不需要返回值,因为没有创建什么临时变量,是直接更改参数的值的,从上往下执行的,用void无返回值就可以了

void Swap(int *px, int *py)
{int temp = *px;*px = *py;*py = temp;
}
int main()
{int a = 0;int b = 0;int c = 0;//输入scanf("%d %d %d", &a, &b, &c);int tmp = 0;if(a < b){Swap(&a,&b);}if(a < c){Swap(&a,&c);}if(b < c){ Swap(&b,&c);}//输出printf("%d %d %d", a, b, c);return 0;} 

第8题

求倍数, 嗯,ctrl+/,这个可以快速消失这个//

//求3的倍数 
//int main()
//{
//	int i = 0;
//	while(i <= 100)
//	{
//		if(i % 3 == 0)
//		{
//			printf("%d ", i);
//		}
//		i++;
//	}//	for(i = 3; i <= 100; i+=3)
//	{
//		printf("%d ", i);
//	}
//	return 0;
//}

第9题,求a,b的最大公约数

错误实例

//给定两个数,求这两个数的最大公约数
//这里写错了 
int main()
{int m = 0;int n = 0;scanf("%d %d", &m, &n);while(m%n){if(m % n !=0)          //假设m 16 n 24{int temp = 0;  temp = m;      //这里就算赋值了,但是这里也不对,因为这里么有新的值出现m = n;         //这里还是24n = temp;      //n还是16,只不过换了位置,a和b}}printf("%d", n);return 0;} 

暴力求解的实例

 //暴力求解
int main()
{int m = 0;int n = 0;scanf("%d %d", &m, &n);//第一步,算出两则的最小值 int min = (m < n) ? m : n;//循环为真 while(1){//第二步,用最小值分别除以两个数,摸为0就表示找到了,退出循环 if(m % min == 0 && n %min ==0){break;//跳出while循环 }elsemin--; //如果不能整除,就让最小值减一,然后再除,直到找到为止 }printf("%d", min);return 0; 
}

辗转相除法

//辗转相除法求解公约数
int main()
{int a = 0;int b = 0;//输入scanf("%d %d", &a, &b);//求最大公约数while(a%b)   //如果被整除,说明b就是最大公约数,0为假,就退出循环了 {int c = a%b;  //求ab两个的余数 a = b;        //然后b赋值给a b = c;        //最小值赋值给b }printf("%d", b);return 0;} 

第二套题目

1、while循环的条件表达式的执行次数总是会比循环体的执行次数多一次

因为当判断为假,就不进入循环

那么就执行了条件表达式,并没有执行循环体的语句

2、程序结果为,a=8

a = 7的时候,b=22,但是还没判断

当a等于8的时候,才进入循环判断,然后break,跳出循环

int main()
{int a = 0, b= 0;for(a = 1, b = 1; a<=100; a++){if (b >= 20) break;if(b%3 == 1){b = b+3;continue;}b = b-5;}printf("%d", a);return 0;} 

3、编写一个程序,计算1~100的所有数字出现多少个数字9

//编写程序数一下 1 到 100 的所有数字出现多少个数字9
//
//9 19 29 39 49 59 69 79 89 99
//90 91 92 93 94 95 96 97 98 99int main()
{int i = 0;  //遍历1 ~ 100到数字int count = 0; //计数 for(i = 1; i <= 100; i++){//判断个位是不是9 if(i % 10 == 9)count++;//判断十位是不是9 if(i / 10 == 9)  //因为这个除的话是取整的 count++; }//打印printf("%d", count); return 0;} 

4、计算1/1-1/2+1/3-1/4+1/5.......+1/99-1/100

分子总是1

分母是1~100

//4、计算1/1-1/2+1/3-1/4+1/5.......+1/99-1/100
//分子总是1
//分母是1~100int main()
{int i = 0;       //循环100次 double sum = 0;  //求和 int flag = 1;  //循环正负 for(i = 1; i <=100; i++){sum = sum + flag*(1.0 /i);  //这个除号默认是取整,要是想去小数,需要加上.0 flag = -flag; //因为是隔一次出现一个符号的,可以这样写 } printf("%lf", sum);  //lf是double类型的输出标准符号 return 0;
}


http://www.mrgr.cn/news/91979.html

相关文章:

  • 嵌入式八股文(四)计算机网络篇
  • LTO优化详解
  • FFMPEG编码容错处理解决办法之途径----升级库文件
  • 类与对象(4)
  • 探索YOLO技术:目标检测的高效解决方案
  • windows的CMD命令提示符
  • 政安晨【零基础玩转各类开源AI项目】DeepSeek 多模态大模型Janus-Pro-7B,本地部署!支持图像识别和图像生成
  • ubuntu新系统使用指南
  • 1.vue使用vite构建初始化项目
  • java开发——为什么要使用动态代理?
  • Codes 开源免费研发项目管理平台 2025年第一个大版本3.0.0 版本发布及创新的轻IPD实现
  • 目标检测数据集-水果腐烂新鲜度检测数据集(适用YOLO全系列)
  • OpenHarmony构建系统-GN与子系统、部件、模块理论与实践
  • (新)01前缀和来临!优点多多!
  • 贪心算法
  • 代码随想录刷题day28|(栈与队列篇:栈)232.用栈实现队列
  • 深搜专题2:组合问题
  • 顺序表和STL——vector【 复习笔记】
  • Deepseek R1 和其他的大模型 共同辅助决策交通出行方案
  • java网络编程