c语言课程设计报告66631
c语言课程设计报告文档

c语言课程设计报告文档一、课程目标知识目标:1. 理解C语言的基本语法和程序结构,掌握变量定义、数据类型、运算符、表达式等基本概念;2. 学会使用C语言进行顺序结构、分支结构、循环结构的编程,并能运用这些结构解决实际问题;3. 掌握C语言数组和字符串的使用,熟练运用数组进行数据处理;4. 了解C语言函数的定义与调用,学会编写简单的函数,理解函数参数、返回值等概念;5. 了解C语言指针的基本概念,学会使用指针进行内存操作和数据传递。
技能目标:1. 培养学生运用C语言编程解决实际问题的能力;2. 培养学生具有良好的编程习惯,如代码规范、注释清晰等;3. 提高学生调试程序、查找并解决问题的能力;4. 培养学生团队协作能力,学会与他人共同完成项目。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探究的精神;2. 培养学生面对编程困难时,具有坚持不懈、勇于克服的品质;3. 增强学生的自信心,使其在编程实践中感受到成就感;4. 引导学生认识到编程对于社会发展的重要性,培养其社会责任感。
本课程旨在让学生掌握C语言的基本知识和技能,培养其编程思维和解决问题的能力,同时注重培养其情感态度价值观,使其成为具有全面素质的计算机编程人才。
在教学过程中,根据学生的年龄特点和认知水平,采用任务驱动的教学方法,以实例为主线,引导学生主动参与、探究学习。
通过课程学习,使学生能够具备一定的编程基础,为后续学习打下坚实基础。
二、教学内容本章节教学内容围绕C语言基础知识,结合课程目标,制定以下教学大纲:1. C语言概述- 了解C语言发展史、特点和应用领域;- 掌握C语言程序的基本结构。
2. 数据类型、变量和常量- 学习基本数据类型(整型、浮点型、字符型);- 掌握变量的定义、赋值和作用域;- 理解常量的概念及其使用。
3. 运算符与表达式- 掌握算术、关系、逻辑运算符及其优先级;- 学习表达式的构成和计算。
4. 顺序结构程序设计- 学习C语言程序的基本输入输出函数;- 编写简单的顺序结构程序。
C语言程序设计课程设计报告

C语言程序设计课程设计报告1. 引言C语言程序设计是计算机科学与技术领域中一门重要的课程。
本报告旨在总结并展示我在该课程中的设计项目。
该项目要求我们使用C 语言设计并实现一个具有特定功能的程序。
2. 项目背景本项目的背景是为了帮助学生加深对C语言的理解和应用。
通过实践项目,我们可以更好地掌握C语言的语法和技巧,提升我们的编程能力。
3. 项目目标本项目的目标是设计一个简单的学生成绩管理系统。
该系统可以实现以下功能:- 输入学生的姓名和成绩;- 计算学生的平均成绩和总成绩;- 根据学生成绩进行排序;- 输出学生成绩单。
4. 设计思路为了实现项目的目标,我采取了以下设计思路:- 使用结构体来保存学生的信息,每个结构体包括学生的姓名和成绩;- 使用数组来保存学生的信息,数组的每个元素对应一个学生的信息;- 使用循环和条件语句来实现用户界面和功能选项;- 使用排序算法对学生成绩进行排序。
5. 程序设计与实现在程序的设计与实现过程中,我首先定义了学生信息的结构体,并声明了相应的全局变量和函数。
接着,我编写了主函数,其中包括用户界面的显示和功能选项的处理。
用户界面的显示采用了简洁美观的格式,每次显示菜单供用户选择相应的功能。
用户可以通过输入对应的数字来选择功能,并根据提示进行相应的操作。
在实现功能方面,我使用了循环来保证程序能够持续运行,直到用户选择退出。
根据用户的选择,程序会调用不同的函数来完成相应的功能,比如输入学生信息、计算平均成绩和总成绩、排序学生成绩等。
6. 测试与验证为了验证程序的正确性和稳定性,我进行了多次测试。
我输入了不同数量和不同范围的学生信息,以确保程序能够正确处理各种情况下的数据。
通过测试,我发现程序能够正常运行,实现了预期的功能。
输入的学生信息能够被正确保存、计算和排序,最终能够输出正确的学生成绩单。
7. 总结与展望通过本项目的设计与实现,我加深了对C语言的理解和应用,提升了我的编程能力。
C语言课程设计设计报告书

C语言课程设计设计报告书一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握变量声明、数据类型、运算符、表达式等基本概念。
2. 学会使用C语言进行顺序结构、分支结构和循环结构的编程。
3. 掌握函数的定义、声明和调用,理解局部变量和全局变量的作用域。
4. 了解数组、指针和字符串的使用,能够运用它们解决实际问题。
技能目标:1. 培养学生编写、编译和调试C程序的能力,提高编程技巧。
2. 培养学生运用C语言解决实际问题的能力,如数值计算、数据处理等。
3. 培养学生分析问题、设计算法和编写程序的能力,提高逻辑思维能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习积极性,提高自主学习能力。
2. 培养学生合作学习、分享经验的精神,提高团队协作能力。
3. 培养学生严谨、认真、负责的学习态度,养成良好编程习惯。
课程性质:本课程为高中年级C语言课程,以实践为主,注重培养学生的编程能力和逻辑思维能力。
学生特点:高中年级学生对计算机编程有一定的基础,好奇心强,学习积极性较高,但需加强实践操作和问题分析能力的培养。
教学要求:结合课程内容和学生特点,采用任务驱动、案例教学等方法,引导学生主动探究、动手实践,提高编程技能和解决问题的能力。
同时,注重培养学生良好的编程习惯和团队合作精神。
通过本课程的学习,使学生能够具备C 语言编程的基本能力,为后续计算机课程学习打下坚实基础。
二、教学内容1. C语言基础知识:变量、数据类型、常量、运算符、表达式。
教材章节:第一章2. 控制结构:顺序结构、分支结构(if语句、switch语句)、循环结构(for循环、while循环、do-while循环)。
教材章节:第二章3. 函数:函数定义、声明、调用;局部变量和全局变量;递归函数。
教材章节:第三章4. 数组:一维数组、二维数组;数组的初始化、遍历和排序。
教材章节:第四章5. 指针:指针的定义与使用;指针与数组、字符串、函数的关系。
《C语言课程设计》设计报告

《C语言课程设计》报告书指导教师:张娜课程名称: C语言程序设计班级: 0124071姓名:王者无疆学号: 0070082011河南城建学院、土木与材料工程系2011年1月目录一.课程设计目的二.课程设计要求1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用4. 设计完成后提交课程设计报告三.课程设计的基本过程1.程序的功能设计2.程序的数据设计3.程序的函数设计4.函数编程及调试5.整体调试6.设计总结四. 课程设计报告的内容五. 课程设计考核方式六. 进度计划第一天选择课程设计题目,分析课题的要求,编写详细设计说明第二天编程及调试第三天调试,修正,运行软件第四天写课程设计报告,检查程序及软件第五天提交课程设计报告(打印稿及电子稿)七、心得体会八、附一题一、课程设计目的课程设计是学习掌握C语言知识的重要实践环节,是在课程实验基础上进行的综合性实践教学活动。
课程设计围绕课程的整体教学目标进行,课程设计的题目具有一定的综合性和应用性,只靠个别单元的知识一般不能实现课程设计的目标,需要对课程知识进行综合运用。
要完成好课程设计,就要对课程知识进行系统学习、复习、总结、应用,达到在实践中学习知识、掌握知识、应用知识和培养能力的目的。
①通过课程设计,进一步熟悉掌握以下知识:数据类型、分支控制、循环控制、函数的定义及调用、结构体及数组、指针、文件操作、编译预处理等。
②通过课程设计,达到系统理解、综合运用课程知识的学习目标。
③通过课程设计,学会用C语言程序解决实际问题的方法。
④通过课程设计,掌握程序的局部测试、调试方法,建立程序系统调试、测试的基本概念和思想,学会较大程序的系统测试和调试方法。
二. 课程设计要求1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用4. 设计完成后提交课程设计报告三.课程设计的基本过程C语言课程设计一般包括6个步骤,即程序的功能设计、程序的数据设计、程序的函数设计、函数编码及调试、程序整体调试和课程设计总结等,各个步骤都有其特定的任务。
c语言课程设计设计报告

c语言课程设计设计报告c语言课程设计设计报告「篇一」c语言课程设计实验报告第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main{printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
第二章数据类型2.1 实验目的(1)掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
()(2)通过编程进一步理解和掌握运算符的确切含义和功能。
2.2 实验要求(1)在报告中记录建立、保存C程序实习过程。
(2)完成典型题目,分析遇到的困难和实验中的收获。
2.3 实验基本内容输入程序,观察输出结果 1>./*test2.1c*/1)编译如下程序: #includevoid main{char ch; int k;ch='a',k='b';printf("%d,%x,%c",ch,ch,ch,ch,k); printf("k=%%d ",k) }2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
2>./*test2.2c*/1)编译如下程序: #includevoid main{float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001;printf("%f,%l f ",a1+a2,b1+b2);}2)链接。
c语言报告课程设计

c语言报告课程设计一、教学目标本课程的目标是让学生掌握C语言的基础知识,包括数据类型、变量、运算符、控制结构、函数等,培养学生编写简单的C语言程序的能力。
通过本课程的学习,使学生了解编程的基本思想,培养学生的逻辑思维能力和问题解决能力。
同时,通过编程实践,培养学生的创新意识和团队合作精神,提高学生的学习兴趣和自信心。
二、教学内容教学内容主要包括C语言的基本概念、数据类型、变量、运算符、控制结构、函数等基础知识。
具体包括:1.C语言的基本概念:了解C语言的发展历程、特点和应用领域。
2.数据类型:整型、浮点型、字符型等数据类型的定义和使用。
3.变量:变量的概念、声明、赋值和作用域。
4.运算符:算术运算符、关系运算符、逻辑运算符等运算符的用法。
5.控制结构:顺序结构、选择结构、循环结构等控制结构的实现。
6.函数:函数的定义、声明、调用和返回值。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解C语言的基本概念、语法和编程技巧,使学生掌握C语言的基础知识。
2.案例分析法:通过分析典型的C语言程序案例,使学生理解编程的思想和方法。
3.实验法:通过编写和运行C语言程序,使学生动手实践,巩固所学知识。
四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用《C程序设计语言》作为主要教材,辅助以相关参考书籍。
2.多媒体资料:制作PPT、视频等多媒体教学资料,丰富教学手段。
3.实验设备:提供计算机实验室,让学生进行上机实践。
五、教学评估教学评估主要包括平时表现、作业和考试三个部分。
平时表现主要评估学生的课堂参与度、提问和回答问题的积极性等;作业主要评估学生的编程能力和对知识的理解应用能力;考试主要评估学生对C语言基础知识的掌握程度。
评估方式应客观、公正,能够全面反映学生的学习成果。
六、教学安排教学安排共分为16周,每周2课时。
教学地点为计算机实验室,以便学生进行上机实践。
c语言课程设计报告

c语言课程设计报告一、课程目标知识目标:1. 让学生掌握C语言的基本语法,包括变量声明、数据类型、运算符、控制结构等;2. 培养学生运用C语言进行程序设计的能力,学会编写简单的程序解决实际问题;3. 使学生了解C语言中的数组、函数和指针等高级概念,并能够灵活运用。
技能目标:1. 培养学生熟练使用C语言编程环境,如Turbo C或Visual Studio等;2. 提高学生的编程技巧,使其能够编写具有逻辑性和可读性的代码;3. 培养学生独立分析问题、设计程序解决问题的能力。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动探索、自主学习的精神;2. 培养学生严谨、细心的学习态度,使其认识到编程过程中细节的重要性;3. 强调团队协作和交流分享,提高学生的沟通能力和团队意识。
分析课程性质、学生特点和教学要求:1. 课程性质:C语言课程属于信息技术学科,具有实践性和应用性强的特点;2. 学生特点:学生为初中生,具有一定的逻辑思维能力和计算机操作基础,但编程经验不足;3. 教学要求:结合学生特点,注重理论与实践相结合,以实例教学为主,引导学生动手实践。
1. 熟练运用C语言编写简单的程序;2. 掌握C语言的基本语法和编程技巧;3. 提高编程兴趣,形成自主学习、团队协作的良好习惯。
二、教学内容1. C语言基础知识:- 变量与常量的概念及其声明- 数据类型:整型、浮点型、字符型- 运算符:算术、关系、逻辑、赋值运算符- 控制结构:顺序结构、选择结构、循环结构2. 函数与数组:- 函数的定义、声明和调用- 数组的定义、初始化和使用- 一维数组、二维数组的操作3. 指针与字符串:- 指针的概念、声明与使用- 指针与数组的关系- 字符串的基本操作4. 编程技巧与实践:- 编程规范与命名规则- 代码调试与优化- 简单算法的实现(如排序、查找)5. 综合案例分析与编程实践:- 结合实际案例,运用所学知识进行程序设计- 针对不同案例,分析问题、设计算法、编写程序- 案例包括:计算器、成绩管理系统、小游戏等教学内容安排与进度:1. C语言基础知识(2周)2. 函数与数组(2周)3. 指针与字符串(2周)4. 编程技巧与实践(1周)5. 综合案例分析与编程实践(3周)教材章节关联:1. C语言基础知识:教材第1-3章2. 函数与数组:教材第4-5章3. 指针与字符串:教材第6章4. 编程技巧与实践:教材第7章5. 综合案例分析与编程实践:教材第8章及课后习题、拓展案例三、教学方法1. 讲授法:- 对于C语言的基本语法、概念和理论,采用讲授法进行教学,确保学生能够系统地掌握知识;- 讲授过程中注重条理清晰、深入浅出,结合实际案例,提高学生的理解和记忆;- 定期进行知识巩固,通过讲解经典例题,帮助学生深化理解。
(完整版)c语言课程设计设计报告

C语言课程设计报告姓名:学号:年月目录:●程序功能简介●题目分析●函数的调用关系图及主要算法●源程序及注释●测试流程●心得感想程序一:简单数学问题一、程序功能简介:实现多个简单数学问题的求解。
二、题目分析完成与菜单项对应的功能设计1、void FindNum( ); /*用穷举法找到被咬掉的数字*/2、void FindRoot( ); /*求解方程ax2+bx+c=0的根*/3、void Detective( ); /*根据线索用穷举法找出牌照号码*/4、void Monkey( ); /*根据天数循环求出第一天所摘桃子数*/5、void Diamond( ); /*调用函数Print_Diamond( )输出line行的钻石图案*/6、void Calculator( ); /*实现两个整数简单的加减乘除四则运算*/三、函数的调用关系图:四、源程序及注释:#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<math.h>int menu_select();void main() /*主函数*/{for(;;){switch(menu_select()){case 1:FindNum();system("pause");break;case 2:FindRoot();system("pause");break;case 3:Detective();system("pause");break;case 4:Monkey();system("pause");break;case 5:Diamond();system("pause");break;case 6:Calculator();system("pause");break;case 0:printf("Goodbye!\n");system("pause");exit(0);}}}int menu_select() /*主函数菜单*/ {char c;do{system("cls");printf("1.FindNum\n");printf("2.FindRoot\n");printf("3.Detective\n");printf("4.Monkey\n");printf("5.Diamond\n");printf("6.Calculator\n");printf("0.Goodbye!\n");c=getchar();}while(c<'0'||c>'6');return(c-'0');}FindNum() /*找数字*/{int i;for(i=1;i<=9;i++) /*穷举*/if((30+i)*6237==(10*i+3)*3564)printf("%d\n",i);}FindRoot() /*找方程的根*/{float a[10],b[10],c[10],disc,x1,x2,real,image; /*定义abc三个数组存放方程的系数*/int i,k,j;for(i=0;i<10;i++) /*循环输入方程的三个系数*/{printf("please input three real numbers:\n");scanf("%f%f%f",&a[i],&b[i],&c[i]);printf("press '1' to continue\npress '2' to calculate\n");scanf("%d",&k);if (k==2) break; /*判断是否继续输入*/}for(j=0;j<=i;j++){printf("The equation %d",j+1);if (fabs(a[j])<=1e-7) /*a=0的情况*/printf(" is not quadratic, solution is %.2f\n",-c[j]/b[j]);else{disc=b[j]*b[j]-4*a[j]*c[j];if (fabs(disc)<=1e-7) /*有两个相等的实根的情况*/ printf(" is not quadratic,solution is: %.2f\n",-b[j]/(2*a[j])); else if (disc>1e-7) /*有两个不等实根的情况*/{x1=(-b[j]+sqrt(disc))/(2*a[j]);x2=(-b[j]-sqrt(disc))/(2*a[j]);printf(" has distinct real roots: %.2f and %.2f\n",x1,x2); }else /*有两个虚根的情况*/{real=-b[j]/(2*a[j]);image=sqrt(-disc)/(2*a[j]);printf(" has complex roots:\n");printf("%.2f+%.2f i\n",real,image);printf("%.2f-%.2f i\n",real,image);}}}}Detective() /*找牌照*/{int i,a,b,c,d;long m;for(i=32;i<=99;i++) /*穷举找出后四位号码*/ {m=i*i;a=m%10;b=m/10%10;c=m/100%10;d=m/1000;if(a==b&&c==d)break;}printf("%ld\n",m+310000);}Monkey() /*猴子吃桃问题*/{int n,i;long x;scanf("%d",&n);x=1;for(i=n-1;i>=1;i--)x=(x+1)*2;printf("%ld\n",x);}void print_diamond(int line){int i,j,k,m,n,p,q,a,b;for(i=1;i<=(49-line)/2;i++) /*输出(49-line)/2行的空格*/printf("\n");for(j=1;j<=(line+1)/2;j++){ for(m=1;m<=(80-line)/2;m++) /*先输出(80-line)/2个空格*/ printf(" ");for(a=1;a<=(line-(2*j-1))/2;a++) /*行数j从1到中间一行输出(line-(2*j-1))/2个空格*/printf(" ");for(n=1;n<=2*j-1;n++) /*中间行及上面每行输出2*j-1个"*"*/printf("*");printf("\n");for(k=1;k<=(line-1)/2;k++) /*同理输出中间行下面的钻石图案*/{ for(p=1;p<=(80-line)/2;p++)printf(" ");for(b=1;b<=k;b++)printf(" ");for(q=1;q<=line-2*k;q++)printf("*");printf("\n");}}Diamond() /*钻石*/{int line;scanf("%d",&line);print_diamond(line); /*调用print_diamond输出钻石图案*/ }Calculator() /*简单计算器*/{int a[4],b[4],c[4],i,j,k; /*定义ab两个数组存放数*/char ch[4]; /*定义c存放运算符*/FILE *fp1,*fp2;fp1=fopen("expres.txt","r"); /*打开expres文件*/if(fp1==NULL) /*判断打开成功*/printf("Can not open file expres\n");exit(1);}for(i=0;i<=3;i++)fscanf(fp1,"%d%c%d",&a[i],&ch[i],&b[i]); /*循环读入四道题*/ for(j=0;j<=3;j++){switch(ch[j]) /*判断运算符*/{ case '+':c[j]=a[j]+b[j]; break;case '-':c[j]=a[j]-b[j]; break;case '*':c[j]=a[j]*b[j]; break;case '/':c[j]=a[j]/b[j]; break;}}fp2=fopen("result.txt","w"); /*打开文件result*/if(fp2==NULL) /*判断打开文件是否成功*/{printf("Can not open file expres\n");exit(2);}for(k=0;k<=3;k++) /*循环向文件中输入结果*/fprintf(fp2,"%d%c%d=%d\n",a[k],ch[k],b[k],c[k]);printf("succeed!\n");}五、测试流程:运行程序屏幕显示:1.FindNum2.FindRoot3.Detective4.Monkey5.Dismond6.Calculator0.Goodbye!输入:1回车显示:9Press any key to continue …按任意键返回菜单输入:2回车显示:please input three real number:输入:0回车1回车2回车显示:press ‘1’ to continuep ress’2’ to calculate输入:1回车显示:please input three real number:(按照以上方法再输入三组数据:1,2,1;1,3,2;1,0,4后选择2,回车)显示:The equation 1 is not quadratic, solution is -2.00The equation 2 is not quadratic, solution is -1.00The equation 3 has distinct real roots: -1.00and-2.00The eauation 4 has complex roots:-0.00+2.00 i-0.00-2.00 iPress and key to continue …按任意键返回菜单输入:3 回车显示:317744Press and key to continue …按任意键返回菜单输入:4 回车10 回车显示:1534Press and key to continue …按任意键返回菜单输入:5 回车5 回车输出:*************Press and key to continue …按任意键返回菜单输入:6 回车显示:succeed!Press and key to continue …按任意键返回菜单输入:0 回车显示:Goodbye!Press and key to continue …按任意键结束程序程序二:学生成绩简单管理一、程序功能简介:用结构体数组结构实现简单的学生管理成绩管理功能,要求具有数据输入、数据输出、数组排序、元素插入、元素删除、查询等功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学 部:机械与电子信息 专 业: 电子信息工程 班 级: 电信本二 学 号: 姓 名: 曹 禹 指导教师: 杜丽芳
2012 年 6 月
第 1 章 分支与循环
1.3 实现过程
【题目一】王小二自夸刀工不错,有人放一张大地煎饼在砧板上,问他:“煎饼不许离开砧 板,切 100 刀最多能分成多少块?” 【算法分析】初始:1 块 t0=1 第一刀:2 块 t1=2=t0+1 第二刀:4 块 t2=4=t1+2 第三刀:7 块 t3=7=t2+3 第四刀:11 块 t4=11=t3+4 第五刀:16 块 t5=16=t4+5 … 得:t(n)=t(n-1)+n (n=1 to 100) 【源程序代码】 #include<stdio.h> int main() {
int a[5]={4,6,8,10,12},i; int *p=a,s=1; for(i=0;i<5;i++)
s=s*(*p++); printf("乘积:%d\n",s); return 0; } 【编译示图】
9
【运行结果示图】
【题目二】100 个围成一圈,从第 1 个人开始,每数到 3 的人出圈。问最后一个出圈的人是 哪一个。
for(y=0;y<=3;y++) for(z=0;z<=6;z++) if(x+y+z==8)printf("红%d 白%d 黑%d \n",x,y,z);
return 0; }
3
【编译示图】 【运行结果示图】
4
第 2 章 数组与函数
2.3 实现过程
【题目一】有一个一维数组 score[],内存放 10 个学生的成绩,要求编写三个函数分别求 学生的平均成绩,求 10 个学生的最高分,求 10 个学生的最低分,在主函数中调用这三个函 数得到结果。
sum=sum+a[i]; aver= max(float a[10]) {
float imax=a[0]; for(i=1;i<10;i++)
if(imax<a[i])imax=a[i]; return imax; } float min(float a[10]) { float imin=a[0]; for(i=1;i<10;i++)
【算法分析】输入 10 个学生的成绩,平均成绩可以用循环求总和来实现,最高分和最低分 也可以利用循环比较来得出最大和最小的数 其中平均成绩为 aver=sum/10, 最高分利用循环 max=max>score[]?max:score[] 最低分利用循环 min=min<score[]?min:score[] 【源程序代码】 #include<stdio.h> int main() {
if(imin>a[i])imin=a[i]; return imin; } 【编译示图】
6
【运行结果示图】
【题目二】编写一个函数,将输入的一串字符中的小写字母转变成大写字母,在主函数中调 用这个函数,并输出所有的大写字母。 【算法分析】 利用 ASIC 码将小写字母转换大写字母即可,设字符串为 str,使 ASIC 值在 a 到 z 间的字符 满足 str=str-32 则可将小写字母转换大写字母。
【算法分析】设红,白,黑分别取 x,y,z 个,则有: x+y+z=8;
0=<x 3; 0=<y 3; 0=<z 6;
可通过多重循环得出各种搭配,通过循环可能的只数,得出结果
【源程序代码】 #include<stdio.h> int main() {
int x,y,z; for(x=0;x<=3;x++)
【运行结果示图】
8
第 3 章 指针
3.3 实现过程
【题目一】已知一个整型数组 a[5],其各元素值为 4,6,8,10,12。使用指针法求该数组 元素之积。 【算法分析】利用 for 循环得出积,其中积 s=s*(*p++),p++的作用是每执行一次循环就让 指针变量 p 指向下一个元素,使以后的访问就直接访问 p 所指向的内存单元,不需再作地址 计算。 【源程序代码】 #include<stdio.h> int main() {
scanf("%f",&a[i]); aver=average(a); imax=max(a); imin=min(a); printf("平均分:%.2f\n",aver); printf("最高分:%.2f\n",imax); printf("最低分:%.2f\n",imin); return 0; } int i;float a[10]; float average(float a[10]) { float aver,sum=0; for(i=0;i<10;i++)
7
【源程序代码】 #include<stdio.h> void change(char str[100]) {
int i; for(i=0;i<100;i++)
if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32;
} int main(void) {
char str[100]; printf("请输入字符串:\n"); gets(str); change(str); puts(str); return 0; } 【编译示图】
int t,n; t=1; for(n=1;n<=100;n++) //循环相加得出最后结果
t=t+n; printf("100 刀最多可以切出%d 块\n",t); return 0; } 【编译示图】
2
【运行结果示图】
【题目二】若一个口袋中放有 12 个球,其中有 3 个红色球,3 个白色球和 6 个黑色球,从中任 取 8 个球,问共有多少不同的颜色搭配,把每种搭配显示出来。
int i; float a[10],aver,imax,imin; float average(float a[10]); float max(float a[10]); float min(float a[10]); printf("请输入十个学生的成绩:"); for(i=0;i<10;i++)