牛客网刷题总结4-22

简介: 牛客网刷题总结4-22

1.一些简单的程序

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
    int i = pow(3, 2);
    printf("%d",i);
    return 0;
}
用swap函数交换数字顺序
//函数的设计
void swap(int* pa, int* pb)
{
  int temp;
  temp = *pa;
  *pa = *pb;
  *pb = temp;
}
int main()
{
  //创建两个数字
  int a =0,b =0;
  scanf("%d%d", &a,& b);
  printf("交换前: a=%d,b=%d\n", a, b);
  swap(&a, &b);
  printf("交换后: a=%d,b=%d\n", a, b);
  return 0;
}
字符圣诞树
int main()
{
  char ip;
  scanf("%c", &ip);
  printf("    %c       \n", ip);
  printf("   %c %c     \n", ip,ip);
  printf("  %c %c %c   \n", ip,ip,ip);
  printf(" %c %c %c %c \n", ip,ip,ip,ip);
  printf("%c %c %c %c %c\n", ip,ip,ip,ip,ip);
return 0;
}
使用嵌套循环
#include<stdio.h>
int main()
{
    char a;
    scanf("%c", &a);//输入一个任意字符
    int i = 1;//记行数用的
    int j, g; //j是输出“空格”用的,g是输出“字符+空格”用的
    for (i = 1; i < 6; i++)//关于行数i在前5行执行的循环(包括第5行)
    {
        for (j = 5 - i; j > 0; j--)//输出第n行的前5-n个空格(n<=5)
        {
            printf(" ");
        }
        for (g = 0; g < i; g++)//输出第n行的所有空格后的字符
        {
            printf("%c ", a);//注意所输出的%c后有一个空格
        }
        printf("\n");//第n行输出结束,执行换行操作
    }//运行到这里就输出了n行的字符金字塔图形
    return 0;
}
int main()
{
  int len =strlen("hello bit");
  printf("%d", len);
  return 0;
}
73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33输出其对应的字符
int main()
{
  printf("%c%c%c%c%c%c%c%c%c%c%c%c", 73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116, 33);
  return 0;
}
输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。
int main()
{
  int a, b, c;                   //你输出一串数字,将其分割,可以限定存放变量的长度;
  scanf("%4d%2d%2d", &a, &b, &c);//%4d  代表为我的a变量创建4个字节的空间,也就是前四个输入的东西存放到a中
  printf("year=%d\nmonth=%02d\ndate=%02d", a, b, c);//%02d代表输出数字有两列,不足前面补零
                                                    //2代表最小宽度为2,对于数字8,输出结果为08,对于数字100,输出结果100;
  return 0;
}

2.反向输出数字(两种方法,字符数组and对取余%取商/的理解)

 

针对每组输入,反向输出对应四位数。  例如输入1234,输出4321;
第一种方法,利用字符数组,最后只输出后四位即可
int main()
{
  char str[10];
  scanf("%s", str);//直接存储输入的字符串
  printf("%c%c%c%c\n", str[3], str[2], str[1],str[0]);
  return 0;
}
第二种利用取余%和取商/
int main()
{
  int input;
  scanf("%d", &input);//存储四位数
  int i;
  for (i = 0; i < 4; i++)
  {
    printf("%d", input % 10);//%10会一直取余到余数小于10,输入一个四位数,第一次除以10,得到一个三位数,继续除以10,直到得到一个个位数,这个个位数即千位上的数字
    input =input / 10;
  }
  return 0;
}


目录
相关文章
|
1月前
|
索引
刷题之Leetcode209题(超级详细)
刷题之Leetcode209题(超级详细)
17 0
|
1月前
|
索引
刷题之Leetcode35题(超级详细)
刷题之Leetcode35题(超级详细)
18 0
|
1月前
|
算法
刷题之Leetcode34题(超级详细)
刷题之Leetcode34题(超级详细)
14 0
|
1月前
leetcode1047刷题打卡
leetcode1047刷题打卡
18 0
|
1月前
leetcode232刷题打卡
leetcode232刷题打卡
13 0