C程序设计算法总结举例_c程序设计经典算法

其他工作总结 时间:2020-02-28 11:55:05 收藏本文下载本文
【www.daodoc.com - 其他工作总结】

C程序设计算法总结举例由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c程序设计经典算法”。

C程序设计算法总结举例

1.顺序结构举例

(该类题目,通常输入一些数据,再通过使用一个或几个数学公式求解,通过赋值表达式得到结果,并输出。包括求三角形面积,相关物体体积,求温度,解二元一次方程组、一元二次方程等)

1-1.求温度转换 华氏-摄氏温度转换公式:c=5/9(f-32)#include main(){ float c, f;scanf(“%f”, &f);c = 5.0 / 9 *(fi + 1);//pow(x,y)计算x的y次方 }...3-5.求 s=a+aa+aaa+aaaa+a...a(n个a),a,n由键盘输入!。如输入a=3 n=5 则 s=3+33+333+3333+33333 ……

k = s = a;for(i = 1;i = 0;j--){ printf(“%c”, 'A' + j);} printf(“n”);

} }

#include main(){ int i, j, n;scanf(“%d”, &n);for(i = 0;i

} }

4.数组

包括:排序、查找、字符串长度、字符串大小写转换、比较字符串大小、字符串连接、字符串拷贝、数列前n项、统计字符串中单词个数、求数组元素最值、二维数组输入、输出、转置、数字(字符串)逆序输出。数组中统计奇数偶数,二维数组对角线元素,行列元素的相关处理。

4-1排序(选择法、冒泡法)冒泡法

(1)冒泡法排序算法

将一个数字序列存放在数组中,相邻的两个数进行比较,若前一个数大则交换,...一趟下来最大数必然在最后,然后对于剩下元素反复执行上面操作 #include main(){ int a[10], i, j, x;for(i = 0;i a[j + 1]){ x = a[j];a[j] = a[j + 1];a[j + 1] = x;} printf(“n”);for(i = 0;i

编写自定义函数,实现冒泡法排序

#include main(){ void qipao(int a[]);int a[10], i;for(i = 0;i a[j + 1])

{

x = a[j];

a[j] = a[j + 1];

a[j + 1] = x;} }(3)选择排序算法

将一个数字序列存放在数组中,假设“剩下的序列中第一个元素”为最小值,将其与数组中其它元素进行比较,找到最小值,将该最小值与“剩下的序列中第一个元素”进行交换,最小元素放到剩下序列的第一个位置,反复做这个操作……

#include main(){ int a[10], i, j, m, x;for(i = 0;i a[j])m = j;x = a[m];a[m] = a[i];a[i] = x;} printf(“n”);for(i = 0;i

#include main(){ void xuanze(int a[]);int a[10], i, j;for(i = 0;i

void xuanze(int a[]){ int i, j, x, m;for(i = 0;i a[j])m = j;x = a[m];a[m] = a[i];a[i] = x;} } 4-2查找

顺序查找:数字序列放到数组中,不要求数组元素本身有序,查找x是否在数列中: ……

for(i=0;i

折半查找:1.要求数列必须有序的;2.比较数列中间元素;3.缩小范围,重复2…… 4-3数列前n项

若已知 f1=1,f2=2,f3=3, fn=fn-1+3fn-2+fn-3 n>=4,用数组的方法求数列前n项(n由键盘输入)及前n项和。

#include main(){ int f[100], n, i, s;scanf(“%d”, &n);f[1] = 1, f[2] = 2, f[3] = 3;s = f[1] + f[2] + f[3];for(i = 4;i

//输出所有列下标大于行下标的数组元素 for(i = 0;i i){ printf(“n行标: %d,列标: %d,元素: %d”, i, j, a[i][j]);} //数组f里元素均初始化为0 for(i = 0;i

//求所有能被2,3,5整除的数组元素的平方和 for(i = 0;i

//将二维数组赋值给一维数组,并输出 n = 0;for(i = 0;i

#include #include main(){ char a[100], b[30], c[4][100];int i, j, k;//编程序实现gets函数功能如下: puts(“请输入字符串a:n”);i = 0;while((a[i] = getchar())!= 'n'){ i++;} a[i] = '';puts(“输入的字符串是:n”);printf(“%s”, a);

//编程序实现strlen函数的功能: i = 0;while(a[i]!= ''){ i++;} printf(“%s”, “输入的字符串长度是:n”);printf(“%dn”, i);

//编程序实现strcat函数的功能: i = j = 0;puts(“请输入字符串b:n”);gets(b);while(a[i]!= ''){ i++;} while(b[j]!= ''){ a[i] = b[j];i++;j++;} a[i] = '';puts(“连接后字符串为:n”);puts(a);

//编程序实现strcmp函数功能: i = 0;k = 0;puts(“n请重新输入两个字符串:n”);gets(a);gets(b);while(a[i]!= '' || b[i]!= ''){ if(a[i] > b[i]){ k = 1;break;} if(a[i]

5-5编程序实现函数strcat(str1,str2)函数的功能:该函数实现将两个字符串(分别存放于str1,str2中)连接。

#include void scat(char a[], char b[]){ int i, j;i = j = 0;while(a[i]!= '')//定位字符串a的结尾 i++;} while(b[j]!= '')//实现字符串连接 { a[i] = b[j];i++;j++;} a[i] = '';//连接产生的新字符串末尾添加字符串结束标识 }

main(){ char a[100], b[30];puts(“请输入字符串a,b:n”);gets(a);gets(b);scat(a, b);//函数名做为参数 puts(“连接后字符串为:n”);puts(a);} 5-6编写函数实现:输入一维数组求数组中元素的最大值,输入a,b,c,d求最小值 #include //此例子中求最值分别采用条件表达式和选择结构实现,请仔细比较二者使用方式 int f1(int a, int b){ return a > b ? a : b;}

int f2(int a, int b){ int c;if(a

main(){ int a, b, c, d, s[10], i, max, min;scanf(“%d,%d,%d,%d”, &a, &b, &c, &d);for(i = 0;i

max = f1(f1(f1(a, b), c), d);min = s[0];//假设min是数组中任意元素 for(i = 0;i

5-7函数要求掌握的算法实现:

排序、查找、字符串求长度,连接,复制,比较大小,输入,输出,以及前面讲过的各种算法通过函数调用实现,求素数,求闰年,最大公约、最小公倍数等等。

5-8变量的作用域和生存期

变量的作用域分为:局部变量和全局变量函数。局部变量作用范围是定义它的函数内,全局变量作用范围是从定义点开始到程序结束。

#include int s = 3;//s全局变量 int a(int x){ int c = 1, s = 2;//c,s,x局部变量 return c + s + x;//t不起作用 }

int t = 6;//t全局变量 main(){ int x, y;//y,x局部变量 x = 5;y = a(x);printf(“%2d,%2d,%2d”, s, y, t);}

变量的生存期:静态变量和动态变量

#include int a(int x){ static int c = 0;//c静态变量,始终存在;c=0 仅仅执行一次,其值保留上次运行结果

int i = 1;//i动态变量,每次调用分配内存空间,每次都重新赋初始值1 c++;i++;return c + i + x;} main(){ int x, y = 0;for(x = 1;x

y=c+i+x y=(1+2+1)+(2+2+2)+(3+2+3)+(4+2+4)+(5+2+5).....+(10+2+10)=130

6编译预处理命令

#include #define n 5+3

....printf(“%5d”,n*n);其结果是?

答案 23 理由:纯粹置换!n*n---5+3*5+3

算法与程序设计

《算法与程序设计》教学中实施研究性学习探步作者:赵濮民摘要:研究性学习是教育科研领域中一个崭新的课题。信息技术教学作为以培养创新精神、研究能力和实践能力为目标取向的......

算法与程序设计教案

第一课 初识算法与程序设计一、教学目标1、知识与技能(1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力;( 2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力......

算法与程序设计思想

《算法与程序设计思想》教学案例1一、教学目标 1.知识与技能:求一批数据中最大值的算法设计思想,并将算法的设计思想用流程图表示出来。 2.过程与方法:利用现实生活中比较身高......

浅谈《算法与程序设计》教学策略

浅谈《算法与程序设计》教学策略安徽宿州泗县一中 许大伟摘要:高中信息技术课程改革到今年已走过了四年时间,在选修模块教学中有《算法与程序设计》和《多媒体技术应用》可供......

《算法与程序设计》选修教案

第一课初识算法与程序设计一、教学目标1、知识与技能 (1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力;(2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和......

下载C程序设计算法总结举例word格式文档
下载C程序设计算法总结举例.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文