整型二维数组
1.图像的镜像
2.输出三阶魔方阵
字符型二维数组
初始化:
char s[3][100] = {"Hello","World","Chian!"};
打印二维数组
比较大小
逆序
字符串的排序
选择排序
int main(void)
{
char s[][100] = {"Hello", "World!", "China!", "America"};
int rows = sizeof(s) / sizeof(s[0]);
int i, j;
for(i = 0;i < rows - 1;++i)
{
for(j = i + 1;j < rows;++j)
{
if(strcmp(s[i], s[j]) > 0)
{
char t[100];
strcpy(t, s[i]);
strcpy(s[i], s[j]);
strcpy(s[j], t);
}
}
}
for(i = 0;i < rows;++i)
{
puts(s[i]);
}
}
冒泡排序
查找
int main(void)
{
char s[][100] = {"Hello", "World!", "China!", "America"};
int rows = sizeof(s) / sizeof(s[0]);
int i, j;
for(i = 0;i < rows - 1;++i)
{
for(j = i + 1;j < rows;++j)
{
if(strcmp(s[i], s[j]) > 0)
{
char t[100];
strcpy(t, s[i]);
strcpy(s[i], s[j]);
strcpy(s[j], t);
}
}
}
char n[100] = "China!";
int begin = 0;
int end = rows - 1;
int mid;
while(begin <= end)
{
mid = (begin + end) / 2;
if(strcmp(s[mid] ,n) > 0)
{
end = mid - 1;
}
else if(strcmp(s[mid], n) < 0)
{
begin = mid + 1;
}
else
{
break;
}
}
puts(begin <= end ? "found" : "not found");
return 0;
}
函数
一个C程序由一个主函数和若干个其他函数构成。
使用函数的作用:
1.提高代码的复用性
2.降低程序的耦合性
难点:编程思想、递归的调用
函数:
1.一个C程序由一个或者多个程序模块组成,每个程序模块作为一个源程序文件。
2.一个程序文件由一个或多个函数以及其他有关内容组成。
3.C程序的执行是从main函数开始的,在mian函数中调用其他函数,在调用后流程返回到main函数,在main函数中结束整个程序的运行。
4.所有的函数都是平行的,在定义函数时分别进行,是相互独立的,函数不能嵌套定义。函数之间可以相互调用,但是不能调用main函数。main函数是系统调用的。
5.从用户使用的角度看,函数有两种:
标准函数、用户自己定义的函数
函数定义的一般形式:
函数名:可以写个动词;
形式参数表列:这个函数在使用是提供的线索或额外的条件;
举例:两个整型数的和
函数的调用
打印结果:
形参与实参,个数相等,类型匹配即可;
如果没有 return ,返回值为随机数;
调用完函数之后,回继续执行下一步操作
int add(int a,int b)
{
int ret;
ret = a + b;
if(a > b)
{
return ret;
}
return 88;
}
int main(void)
{
int a = 10,b = 20;
int sum;
sum = add(a,b);
printf("%d"\n,sum);
}
比较三个数的最大值
被调函数在前,主调函数在后。