C语言数组

说真的感受到c语言真的很灵活,语法没有那么死板

1.int array[] = { 1, 2, 3, 4 };可以这样定义,自动填补

再次加深了对冒泡排序的理解

例如 4 3 2 1 这四个数运用冒泡排序:

第一趟: 4和3交换位置 然后4和2交换位置  再然后4和1交换位置

第一趟结果 3 2 1 4 最大的沉底了 一共比较3次

第二趟: 3和2交换位置 然后3和1交换位置

第二趟结果 2 1 3 4 次大的沉底了 一共比较2次

第三趟略 同理

推广到n个数 ——一共要进行n-1趟,每趟的比较次数是n-i趟(i表示进行的趟数)  了解一下冒泡排序的过程

    intarray[] = { 6, 5, 4, 3, 2, 1 };

    inti,j,t;

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

    {

       for(j = 0; j < 5 - i; j++)

       {

           if(array[j]>array[j + 1])

           {

              t= array[j];

              array[j]= array[j + 1];

              array[j+ 1] = t;

           }

       }

    }

2.inta[3][3] = { {1,2}, {3,4}, {5,6} };会自动填0

3.c语言里面没有字符串,只有字符数组

同时注意’\0’的用法 表示到这里停止,这个很重要!! 例如c中有6个空间而不是5个

    charc[] = { "China"};

    printf("%s\n", c);

scanf("%s",

cc);不需要&地址符

需要导入#include

4.puts()函数和gets()函数 只能应用于一个字符串

5.strcat(str1,str2)   表示连接两个字符串

6.strcpy(字符数组,字符串)  把字符串的内容复制到字符数组中

strcnpy(字符数值,字符串,n(表示前n个字符))

strcmp(str1,str2)>0    比较两个字符串 相等为0,str1>str2返回正整数,反之负整数

strlen(str1)   返回字符串的长度(不包括’\0’)

strlwr(str)  小写 strupr(str) 大写

**************************************************************

这是一道关于杨辉三角的题目

#includeint main()

{

int nn(int x);

int b;

for (int i = 0; i <= 10; i++)

{

for (int j = 0; j <= i; j++)

{

printf("%d  ", nn(i)/(nn(i-j)*nn(j)));

}

printf("\n");

}

return 0;

}

int nn(int x)

{

int s=1;

int a[100];

if (x <= 0)

{

return 1;

}

else

{

for (int i = 1; i <= x; i++)

{

a[i] = i;

s = s*a[i];

}

return s;

}

}


C语言数组_第1张图片

你可能感兴趣的:(C语言数组)