字符串的打印

字符串的结束标志“\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

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

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;
}

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐