C语言题目1

字符串的打印

字符串的结束标志"\0" 而arr里没有\0

没有办法找到结束 所以无法计算长度 是随机值

要在{'b','i','t','\0'}计算长度是3

字符表示 c : \t e s t \121

\xdd

打印长度为7

局部定义优先

当局部和全局相同变量时 局部变量优先

main内是局部变量 所以打印 为1

计算数的余数和商

int main() {

int a=0;

int b=0;

int shang=0;

int yushu=0;

scanf("%d %d",&a,&b);

shang=a/b;

yushu=a%b;

printf("%d %d",shang,yushu);

return 0;

}

前置++和后置++计算

++a 先++后使用 c=6 a=6

++c 先++后使用 b=7 c=7

c++ c=8

++a a=7

a++ a=8

b=b+(a+c)=7+8+8=23

浮点数的打印

a/b 因为a是int类型 b是int类型

只能打印整数 7/2 是3

a/c 7/2.0f 3.50000

小数点默认打印6位小数

两数相乘或相除只有一边为小数 打印出的才有小数

限定宽度和小数位

限定宽度 包括小数点位 如%5d

而限制小数位 是%5.2f 表示显示小数点后二位

不足五位 前面空出几位

如打印 2.5 空2.50

%5d 限制宽度 五位 打印12345

switch相关练习

当 a=1时

由于 switch中没有beak 跳出循环 语句继续执行 直到最后一个 b=0

所以 b=0、

打印1/1-1/2+1/3-1/4+1/5 +1/100

二分查找

所谓二分查找 就是折半思想

条件

1有序

2从小到大排列

列如 数组 int arr[] = { 1,2,3,4,5,6,7,8,9,10 }

从数组中找到7

如果一个个从中遍历数组 很麻烦 数组定义有几万个值 折一半 大大提高效率

cpp 复制代码
int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int left = 0;
	int right = sizeof(arr) / sizeof(arr[0]) - 1;
	int key = 7;//要找的数字
	int mid = 0;//记录中间元素的下标
	int find = 0;
	while (left <= right)
	{
		mid = (left + right) / 2;
		if (arr[mid] > key)
		{
			right = mid - 1;
		}
		else if (arr[mid] < key)
		{
			left = mid + 1;
		}
		else
		{
			find = 1;
			break;
		}
	}
	if (1 == find)
		printf("找到了,下标是%d\n",mid);
	else
			printf("没找到");
	return 0;
}

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

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

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

int main()

{

int i = 0;

int j = 0;

for (i = 0; i <= 100; i++)

{

if (i % 10 == 9||i/10==9)

{

j++;

}

}

printf("%d", j);

return 0;

}

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

int main()

{

int i = 0;

for (i = 1000; i <= 2000; i++)

{

if ((i % 400 == 0) || (i % 4 ==0&& i % 100 != 0))

{

printf("%d", i);

}

}

return 0;

}

//求10 个整数中最大值

int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int max = arr[0];
int i = 0;
for (i = 0; i < 10; i++)
{
if (arr[i]> max)
{
max = arr[i];
}
}

printf("%d", max);

return 0;

}

把3个数从大到小打印

int main()

{

int a;

int b;

int c;

while (scanf("%d %d %d", &a, &b, &c) != EOF)

{

if (a < b)

{

int d = a;

a = b;

b = d;

}

if (a < c)

{

int d = a;

a = c;

c = d;

}

if (b < c)

{

int d = b;

b = c;

c = d;

}

printf("%d %d %d", a, b, c);

}

return 0;

}

相关推荐
hweiyu009 分钟前
数据结构和算法分类
数据结构·算法·分类
AI小云13 分钟前
【数据操作与可视化】Pandas数据处理-Series数据结构
开发语言·数据结构·python·numpy·pandas
froginwe1113 分钟前
正则表达式 - 示例
开发语言
前端小L29 分钟前
图论专题(十六):“依赖”的死结——用拓扑排序攻克「课程表」
数据结构·算法·深度优先·图论·宽度优先
前端小L30 分钟前
图论专题(十三):“边界”的救赎——逆向思维解救「被围绕的区域」
数据结构·算法·深度优先·图论
风筝在晴天搁浅34 分钟前
代码随想录 738.单调递增的数字
数据结构·算法
星释38 分钟前
Rust 练习册 21:Hello World 与入门基础
开发语言·后端·rust
YUJIANYUE40 分钟前
查立得PHP+Mysql影院选座式教室座位预定系统 v1.0
开发语言·mysql·php
u***096444 分钟前
后端服务熔断降级策略,错误率阈值 什么是服务熔断降级
java·开发语言
烤麻辣烫1 小时前
23种设计模式(新手)-3接口隔离原则
java·开发语言·学习·设计模式·intellij-idea