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;

}

相关推荐
祈安_3 天前
C语言内存函数
c语言·后端
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1235 天前
matlab画图工具
开发语言·matlab
dustcell.5 天前
haproxy七层代理
java·开发语言·前端
norlan_jame5 天前
C-PHY与D-PHY差异
c语言·开发语言
琢磨先生David5 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
多恩Stone5 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054965 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
czy87874755 天前
除了结构体之外,C语言中还有哪些其他方式可以模拟C++的面向对象编程特性
c语言
遥遥江上月5 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js