4月份 笔记

  1. 多组输入
#include <stdio.h>

int main()

{

    int a, b;

    while (scanf("%d%d", &a, &b) != EOF)//或者是   ~scanf("%d%d", &a, &b)
   {

        printf("%d\n", a + b);

    }

    return 0;

}

scanf函数的返回值代表的是正确匹配的参数个数

 EOF: end of file 代表文件结束

 输入ctrl+z终止输入

 

2、三目运算符

<表达式1> ? <表达式2> : <表达式3>; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。

表达式1 ? 语句1 : 语句2
 等价于
  if ( 表达式1 ) {
          语句1;
       } else {
           语句2;
       }

3.c语言输出控制

#include <stdio.h>

int main()

{

    printf("%4d\n", 1);             // 占4位

    printf("%4d%4d\n", 1, 2);       // 两个数各占四位

    printf("%4d\n", 12);            // 占四位

    printf("%d\n", 12);

    printf("%4d\n", 123450);        // 超出位数的情况

    printf("%-4d\n", 12);           // 靠左

    printf("%-4d%-4d\n", 12, 34);

    printf("%04d\n", 12);           // 用0填充



    return 0;

}

4.冒泡排序

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。

 

#include <stdio.h>
int main()
{
    int a[100], n;
    scanf("%d", &n);
    for (int i = 0; i< n; ++i) {
        scanf("%d", &a[i]);
    }
    // n个元素排序要进行n-1轮比较
    for (int i = 0; i < n - 1; ++i) {
        // 第i轮比较需要比较n-i次
        for (int j = 0; j < n - i; ++j) {
            // 每次比较第j个元素和第j+1个元素
            if (a[j] > a[j + 1]) {
                a[j] = a[j] + a[j + 1];
                a[j + 1] = a[j] - a[j + 1];
                a[j] = a[j] - a[j + 1];
            }
        }
    }

    for (int i = 0; i < n; ++i) {

        //printf("%d%c", a[i], i == n - 1 ? '\n' : ' ');

        if (i == n - 1) {

            printf("%d\n", a[i]);

        } else {

            printf("%d ", a[i]);

        }

    }

    return 0;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值