• c学习第6天


    3.下面代码运行后m的结果为(C)

    int m = 6;

    m = (m%3*4)?m/4:--m;

    printf("%d",m);

    A:1

    B:2

    C:5

    D:6

    5.以下代码输出的结果为(D)

               int m = 0;

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

            switch (i) {

                case 0:m++;

                case 1:m++;break;

                case 2:m++;continue;

                case 3:m++;break;

                default:m++;continue;

            }

            m++;

        }

        printf("%d",m);

    A:12

    B:11

    C:10

    D:9

    6.以下代码运行的结果为(B)

        int i = 1,m = 1;

        for (; i<10; i++) {

            if (i/2 == 2 || i%4==0) { 

                for (int j = 4; j < i; j++) {

                    m+=j;

                }

            }

        }

        printf("m = %d",m);

     

    A:  26

    B:  27

    C:  28

    D:  29

    7. break关键字在哪一种语法结构中不能使用? (C)

    A:  for语句

    B: switch语句 

    C:  if语句

    D: D. while语句

    8.下列数组说明中,正确的(C)

    A:  int array[][]={0};

    B: int array[3][]={0}; 

    C:  int array[][4]={0};

    D: int array[][][5]={0};

    10.下列选项中正确的语句组是(D)。

    A: char s[8];

       s={"lanou"};

    B: char s[8];

       s="lanou";

    C:  char * s;

       s={"lanou"};

    D: char * s;

       s="lanou";

    13.如有定义 int a[6] = {0};int * p1 = a;int * p2 = &a[6]; 则p2-p1的结果为(A)

    A: 5

    B: 6

    C: 20;

    D: 24

    2.随机找出1到10之间的n个数,找到的数不能重复(注:n小于10,要求高性能)

        int a[10] = {1,2,3,4,5,6,7,8,9,10};

        //随机数个数

        int n = 10;

        //随时数下标

        int postion = 0;

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

            //每次限机的下标递减9,8,7...

            postion = arc4random()%(10-i);

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

            //将随机出来的元素与最后一个交换(相当于排除)

            int temp = a[postion];

            a[postion] = a[10-i-1];

            a[10-i-1] = temp;

        }

    3.  输入一个整数数组,调整数组中数组的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

    int i = 0;
                     int j = 0;
        
                     int temp=0;
        
                     while (i < n)
            {
                    if (arr[i]%2==0)
                        {
                            i++;
                            continue;
                         }
                
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
                i++;
                j++;
            }

    4.c语言实现一个revert 函数,它的功能是将输入的字符长在原串上倒序后返回。 char  *revertchar  *str

    char * revert(char * str)
    {
        char * pc=str;
        
        int count=0;
        while ((*(pc+count)!='')) {
            count++;
        }
        char ret_char[count];
        printf("%d
    ",count);
        for (int i=0; i<count; i++) {
            ret_char[i]=str[count-1-i];
        }
        ret_char[count]='';
        return ret_char;
    }
    1. 8.通过折半查找法在数组中找到某个数所在的位置并打印,若该数不存在则打印相应信息。

    int a[ ] = {-24, 9, 5, 0, 14, 21, 32, 45, 63, 77}

     

    int a[ ] = {-24, 9, 5, 0, 14, 21, 32, 45, 63, 77};
        int value_y=0;
        int value=21,left=0,right=9,mid; /*key是存放需要查找的数的,当然你可以随便改为别的*/
        while(left<=right)
        {
            mid=(left+right)/2;
            if(value==a[mid]) {
                printf("%d
    ",a[mid]);
                value_y=mid;
                printf("第%d	个数
    ",value_y+1);
                break;
            }
            else if(value>a[mid])
                left=mid+1;
            else if (value<a[mid]) right=mid-1;
        }
        if (left==0||right==0) {
            printf("不存在这个数");
        }

    10.编写程序检查某一个整数中是否有重复的数字,如检查2822中存在重复数字2

     

    2.        int num_count=0;
        3.        int flag=0;
        4.        int num=1234;
        5.        int num_copy=num;
        6.        while (num_copy/10) {
        7.            num_count++;
        8.            num_copy/=10;
        9.        }
        10.        
        11.        num_count= num_count+1;
        12.        int arr[num_count];
        13.        for (int i=0; i<num_count; i++) {
        14.            arr[i]=num%10;
        15.            num/=10;
        16.        }
        17.        ////////////test////////
        18.        for (int i=0; i<num_count; i++) {
        19.            printf("%d	",arr[i]);
        20.        }
        21.        ///////////test/////////
        22.        for (int i=0; i<num_count; i++) {//取出数组元素中的一个值,然后和数组中的每个元素进行比较
        23.            for (int j=i+1; j<num_count; j++) {
        24.                if (arr[i]==arr[j]) {
        25.                    flag=1;
        26.                   // break;
        27.                }
        28.            }
        29.        }
        30.        if (flag==1) {
        31.            printf("存在重复数
    ");
        32.        }
        33.        else
        34.        {
        35.            printf("不存在重复数字
    ");
        36.        }
        37.        
  • 相关阅读:
    Duilib 控件类html富文本绘制
    再谈如何使用Taglist?
    如何让vim自动显示函数声明-使用 echofunc.vim插件
    vim 标签页 tabnew 等的操作命令
    php数组操作集锦- 掌握了数组操作, 也就掌握了php
    php字符串操作集锦
    thinkphp疑难解决4
    如何保存gnome的linux的 会话?相当于windows下的休眠?
    开发thinkphp的第一步就是给Application目录(不包括其下的文件)777权限, 关闭selinux
    如何更改gnome-screenshot的默认的保存路径?
  • 原文地址:https://www.cnblogs.com/yinyakun/p/3390115.html
Copyright © 2020-2023  润新知