编程打印3个班学生(假设每班4个学生)的某门课成绩的最高分课件_第1页
编程打印3个班学生(假设每班4个学生)的某门课成绩的最高分课件_第2页
编程打印3个班学生(假设每班4个学生)的某门课成绩的最高分课件_第3页
编程打印3个班学生(假设每班4个学生)的某门课成绩的最高分课件_第4页
编程打印3个班学生(假设每班4个学生)的某门课成绩的最高分课件_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言实验1C语言实验1主教材:苏小红等,《C语言大学实用教程(第2版)》,电子工业出版社,2007,2实验教材:苏小红等,《C语言大学实用教程学习指导》,电子工业出版社,2007,4主教材:实验内容实验内容实验1:熟悉上机环境和顺序结构编程练习——键盘输入与屏幕输出练习

问题1:要使下面程序的输出语句在屏幕上显示1,2,34,则从键盘输入的数据格式应为以下备选答案中的哪一个?#include<stdio.h>main(){ chara,b;intc;

scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c);}A)1234 B)1,2,34C)’1’,’2’,34 D)1234实验1:熟悉上机环境和顺序结构编程练习——键盘输入与屏幕输实验1:熟悉上机环境和顺序结构编程练习——键盘输入与屏幕输出练习

问题2:与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示1234,则应修改程序中的哪条语句?怎样修改?#include<stdio.h>main(){ chara,b;intc;

scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c);}实验1:熟悉上机环境和顺序结构编程练习——键盘输入与屏幕输问题3:要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?怎样修改?#include<stdio.h>main(){ chara,b;intc;

scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c);}实验1:熟悉上机环境和顺序结构编程练习——键盘输入与屏幕输出练习问题3:要使上面程序的键盘输入数据格式为1,2,34,输出语问题4:要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为’1’,’2’,34,则应修改程序中的哪条语句?怎样修改?[提示:利用转义字符输出字符单引号字符。]#include<stdio.h>main(){ chara,b;intc;

scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c);}实验1:熟悉上机环境和顺序结构编程练习——键盘输入与屏幕输出练习问题4:要使上面程序的键盘输入数据格式为1,2,34,而输出问题5:要使上面程序的键盘输入无论用下面哪种格式输入数据,程序在屏幕上的输出结果都为’1’,’2’,34,则程序应修改程序中的哪条语句?怎样修改?第一种输入方式:1,2,34↙(以逗号作为分隔符)第二种输入方式:1234↙(以空格作为分隔符)第三种输入方式:1234↙(以Tab键作为分隔符)第四种输入方式:1↙2↙34↙(以回车符作为分隔符)实验1:熟悉上机环境和顺序结构编程练习——键盘输入与屏幕输出练习问题5:要使上面程序的键盘输入无论用下面哪种格式输入数据,程实验1:熟悉上机环境和顺序结构编程练习——计算定期存款本利之和设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。实验1:熟悉上机环境和顺序结构编程练习——计算定期存款本利实验2:选择结构编程练习

——身高预测

每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。设faHeight为其父身高,moHeight为其母身高,身高预测公式为:男性成人时身高=(faHeight+moHeight)*0.54(cm)女性成人时身高=(faHeight*0.923+moHeight)/2(cm)此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。实验2:选择结构编程练习

——身高预测每个做父母的都关实验2:选择结构编程练习

——身高预测

编程从键盘输入你的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。实验2:选择结构编程练习

——身高预测编程从键盘输入你实验2:选择结构编程练习

——简单的计算器程序要求用switch语句编程设计一个简单的计算器程序。要求根据用户从键盘输入的表达式:操作数1运算符op操作数2计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。实验2:选择结构编程练习

——简单的计算器程序要求用swi例4.8:计算器程序编程设计一个简单的计算器程序,要求根据用户从键盘输入如下形式的表达式:操作数1运算符op操作数2

然后,计算并输出表达式的值指定的运算符为加(+)减(-)乘(*)除(/)例4.8:计算器程序编程设计一个简单的计算器程序,要求根据用main(){

intdata1,data2;/*定义两个操作符*/

charop;/*定义运算符*/ printf("Pleaseentertheexpression:"); scanf("%d%c%d",&data1,&op,&data2);/*输入运算表达式*/

switch(op) {

case'+':/*处理加法*/ printf("%d+%d=%d\n",data1,data2,data1+data2);

break;

case'-':/*处理减法*/ printf("%d-%d=%d\n",data1,data2,data1-data2);

break;

case'*':/*处理乘法*/ printf("%d*%d=%d\n",data1,data2,data1*data2);

break;

case'/':/*处理除法*/

if(0==data2) printf("Divisionbyzero!\n");

else

printf("%d/%d=%d\n",data1,data2,data1/data2);

break;

default: printf("Unknownoperator!\n"); }}例4.8main()例4.8实验2:选择结构编程练习

——简单的计算器程序本实验程序是在例4.8基础上,增加如下要求:(1)如果要求程序能进行浮点数的算术运算,程序应该如何修改?如何比较实型变量data2和常数0是否相等?(2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多空白符,那么程序如何修改?(3)(选作题)如果要求连续做多次算术运算,每次运算结束后,程序都给出提示:Doyouwanttocontinue(Y/Nory/n)?如果用户输入Y或y时,程序继续进行其它算术运算,否则程序才退出运行状态。那么,程序如何修改?实验2:选择结构编程练习

——简单的计算器程序本实验程序是语句if(0==data2)的必要性1998年11月《科学美国人》杂志,描述了美国导弹巡洋舰约克敦号上的一起事故,除零错导致军舰推进系统的关闭如果要求程序能进行浮点数的算术运算,语句if(0==data2)还能用于比较实型变量data2和常数0的大小吗?if(fabs(data2)<=1e-7)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空格符,那么程序如何修改?scanf("%d%c%d",&data1,&op,&data2);scanf("%d%1s%d",&data1,&op,&data2);实验2:选择结构编程练习

——简单的计算器程序语句if(0==data2)的必要性实验2:选择结构实验3:循环结构编程练习

——猜数游戏在这个实验中,我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果你按下列要求以循序渐进方式进行编程实现,你就会发现其实这个程序是很容易实现的。先编写第一个程序,然后试着在第一个程序的基础上编写第二个程序,……。程序1:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则计算机给出提示:“Right!”,否则提示:“Wrong!”,并告诉人所猜的数是大(Toohigh)还是小(Toolow),然后结束游戏。要求每次运行程序时机器所“想”的数不能都是一样的。实验3:循环结构编程练习

——猜数游戏在这个实验中,我们将猜数游戏用到的库函数随机函数srand为函数rand()设置随机数种子来实现对函数rand所产生的伪随机数的“随机化”通过键入随机数种子,产生[0,100]之间的随机数scanf("%u",&seed);srand(seed);magic=rand()%100+1;猜数游戏用到的库函数随机函数srand#include<stdlib.h>#include<stdio.h>main(){

intmagic;

intguess;

intcounter; unsignedint

seed;

printf("Pleaseenterseed:"); scanf("%u",&seed); srand(seed); magic=rand()%100+1; counter=0;

do{ printf("Pleaseguessamagicnumber:"); scanf("%d",&guess); counter++;

if(guess>magic) printf("Wrong!Toohigh!\n");

elseif(guess<magic) printf("Wrong!Toolow!\n"); }while(guess!=magic);

printf("Right!\n"); printf("counter=%d\n",counter);}#include<stdlib.h>猜数游戏用到的库函数使用计算机读取其时钟值并把该值自动设置为随机数种子,产生[0,100]之间的随机数函数time()返回以秒计算的当前时间值,该值被转换为无符号整数并用作随机数发生器的种子#include<time.h>srand(time(NULL));magic=rand()%100+1;猜数游戏用到的库函数使用计算机读取其时钟值并把该值自动设置为#include<stdlib.h>#include<stdio.h>#include<time.h>main(){

intmagic;

intguess; intcounter;

srand(time(NULL)); magic=rand()%100+1; counter=0;

do{ printf("Pleaseguessamagicnumber:"); scanf("%d",&guess); counter++;

if(guess>magic) printf("Wrong!Toohigh!\n");

elseif(guess<magic) printf("Wrong!Toolow!\n"); }while(guess!=magic);

printf("Right!\n"); printf("counter=%d\n",counter);}#include<stdlib.h>程序2:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。实验3:循环结构编程练习

——猜数游戏程序2:编程先由计算机“想”一个1到100之间的数请人猜,如程序3:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则结束游戏。实验3:循环结构编程练习

——猜数游戏程序3:编程先由计算机“想”一个1到100之间的数请人猜,如#include<stdlib.h>#include<stdio.h>#include<time.h>main(){

intmagic;

intguess;

intcounter; srand(time(NULL)); magic=rand()%100+1; counter=0;

do{ printf("Pleaseguessamagicnumber:"); scanf("%d",&guess); counter++;

if(guess>magic) printf("Wrong!Toohigh!\n");

elseif(guess<magic) printf("Wrong!Toolow!\n");

else

printf("Right!\n"); }while((guess!=magic)&&(counter<10));

printf("counter=%d\n",counter);}#include<stdlib.h>程序4:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,且结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。实验3:循环结构编程练习

——猜数游戏程序4:编程先由计算机“想”一个1到100之间的数请人猜,如实验4:函数编程练习

——小学生加法考试题程序1:通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Notcorrect!Tryagain!”;实验4:函数编程练习

——小学生加法考试题程序1:实验4:函数编程练习

——小学生加法考试题/*函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0

函数参数:整型变量a和b,分别代表被加数和加数函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0*/intAddTest(inta,intb){

intanswer; printf("%d+%d=",a,b); scanf("%d",&answer);

if(a+b==answer)

return1;

else

return0;}voidPrint(intflag){if(flag)printf("Right!\n");else printf("Notcorrect!\n");}实验4:函数编程练习

——小学生加法考试题/*函数功能:实验4:函数编程练习

——小学生加法考试题程序2:通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Notcorrect!Tryagain!”,直到做对为止;实验4:函数编程练习

——小学生加法考试题程序2:main(){inta,b,answer;printf("Inputa,b:");scanf("%d,%d",&a,&b); answer=AddTest(a,b); Print(answer);}do{

}while(answer==0);实验4:函数编程练习

——小学生加法考试题main()do{实验4:函数编程练习

——小学生加法考试实验4:函数编程练习

——小学生加法考试题程序3:通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Notcorrect!Tryagain!”,最多给三次机会,如果三次仍未做对,则显示“Notcorrect.Youhavetriedthreetimes!Testover!”程序结束;实验4:函数编程练习

——小学生加法考试题程序3:main(){

answer=AddTest(a,b);

Print(answer,chance);

}chance=0;

do{

chance++;}while(answer==0&&chance<3);实验4:函数编程练习

——小学生加法考试题main()chance=0;实验4:函数编程练习

—实验4:函数编程练习

——小学生加法考试题程序4:连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Notcorrect!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题目数量。实验4:函数编程练习

——小学生加法考试题程序4:

srand(time(NULL));error=0;score=0;

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

a=rand()%10+1;b=rand()%10+1;answer=AddTest(a,b);Print(answer);

if(answer==1)score=score+10;

elseerror++; }实验4:函数编程练习

——小学生加法考试题srand(time(NULL));实验4:函数编程练习实验5:数组编程练习

——检验并打印魔方矩阵在下面的5×5魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后,检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。17241815235714164613202210121921311182529实验5:数组编程练习

——检验并打印魔方矩阵在下面的5×5实验5:数组编程练习

——餐饮服务质量调查打分有40个学生被邀请给自助餐厅的食品和服务质量打分(1~10等级),统计调查结果,并用*打印如下形式的统计结果直方图

GradeCount Histogram1 5 *****2 10 **********3 7 ******* ...实验5:数组编程练习

——餐饮服务质量调查打分有40个学生实验5:数组编程练习

——餐饮服务质量调查打分提示定义数组score存放打的分数定义数组count为计数器(count[0]不用)计算统计结果:设置一个循环,依次检查数组元素值score[i],是1则将数组元素count[1]加1,是2则将数组元素count[2]加1,依此类推 for(i=0;i<STUDENTS;i++) { count[score[i]]++; }打印统计结果,设置一个循环,按count数组元素的值,打印相应个数的符号’*’实验5:数组编程练习

——餐饮服务质量调查打分提示实验6:一维数组和函数综合编程练习——学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别统计下列内容:(1)统计不及格人数并打印不及格学生名单;(2)统计成绩在全班平均分及平均分之上的学生人数并打印其学生名单;(3)统计各分数段的学生人数及所占的百分比;实验6:一维数组和函数综合编程练习——学生成绩统计从键盘实验6:一维数组和函数综合编程练习——学生成绩统计提示:(1)用num[i]存放第i+1个学生的学号,用score[i]存放第i+1个学生的成绩。设置计数器count,当score[i]<60分时,计数器count计数一次,并打印num[i]和score[i]。(2)先计算全班平均分aver,当第i个学生的成绩score[i]>=aver时,打印num[i]和score[i]。(3)将成绩分为六个分数段,60分以下为第0段,60~69为第1段,70~79为第2段,80~89为第3段,90~99为第4段,100分为第5段,因此,成绩与分数段的对应关系为:各分数段的学生人数保存在数组stu中,用stu[i]存放第i段的学生人数。对于每个学生的成绩,先计算出该成绩所对应的分数段,然后将相应的分数段的人数加1,即stu[i]++。实验6:一维数组和函数综合编程练习——学生成绩统计提示:实验7:二维数组、函数和常用算法综合编程练习——成绩排名次某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求:(1)计算每个学生的总分和平均分;(2)按总分成绩由高到低排出成绩的名次;(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数实验7:二维数组、函数和常用算法综合编程练习——成绩排名次实验7:二维数组、函数和常用算法综合编程练习——成绩排名次提示:用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。(1)用函数编程实现计算每个学生的总分;(2)用函数编程实现按总分由高到低对学生成绩排序,注意:排序时,一维数组sum元素的变化应连同二维数组score和一维数组num和aver一起变化;(3)用函数编程实现查找学号为k的学生在班级中的排名名次及相关成绩等信息,找不到时返回-1值。实验7:二维数组、函数和常用算法综合编程练习——成绩排名次实验8:数组、指针和函数综合编程练习——打印最高分和学号假设每班人数最多不超过40人,具体人数由键盘输入,试编程打印最高分及其学号。程序1:用一维数组和指针变量作函数参数,编程打印某班一门课成绩的最高分和学号。intFindMax(intscore[],longnum[],intn,long*pMaxNum);

实验8:数组、指针和函数综合编程练习——打印最高分和学号/*函数功能:计算最高分及最高分学生的学号函数参数:整型数组score,存储学生的成绩长整型数组num,存储学生的学号 长整型指针变量pMaxNum,存储求出来的最高分学生的学号函数返回值:最高分*/intFindMax(intscore[],longnum[],intn,long*pMaxNum){ inti; intmaxScore; maxScore=score[0]; *pMaxNum=num[0]; for(i=1;i<n;i++) if(score[i]>maxScore){ maxScore=score[i]; *pMaxNum=num[i];} return(maxScore);}/*函数功能:计算最高分及最高分学生的学号实验8:数组、指针和函数综合编程练习——打印最高分和学号程序2:用二维数组和指针变量作函数参数,编程打印3个班学生(假设每班4个学生)的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。intFindMax(intscore[CLASS][STU],intm,int*pRow,int*pCol);实验8:数组、指针和函数综合编程练习——打印最高分和学号intFindMax(intscore[][STU],intm,int*pRow,int*pCol){ inti,j,maxScore; maxScore=score[0][0]; *pRow=0; *pCol=0; for(i=0;i<m;i++) { for(j=0;j<STU;j++) { if(score[i][j]>maxScore) { maxScore=score[i][j]; *pRow=i; *pCol=j; } } } return(maxScore);}实验8:数组、指针和函数综合编程练习——打印最高分和学号intFindMax(intscore[][STU],实验8:数组、指针和函数综合编程练习——打印最高分和学号程序3:用指向二维数组第0行第0列元素的指针作函数参数,编写一个能计算任意m行n列的二维数组中的最大值,并指出其所在的行列下标值的函数,利用该函数计算3个班学生(假设每班4个学生)的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。intFindMax(int*p,intm,intn,int*pRow,int*pCol);

实验8:数组、指针和函数综合编程练习——打印最高分和学号intFindMax(int*p,intm,intn,int*pRow,int*pCol){ inti,j,maxScore; maxScore=p[0]; *pRow=0; *pCol=0; for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(p[i*n+j]>maxScore) { maxScore=p[i*n+j]; *pRow=i; *pCol=j; } } } return(maxScore);}实验8:数组、指针和函数综合编程练习——打印最高分和学号intFindMax(int*p,intm,in实验8:数组、指针和函数综合编程练习——打印最高分和学号程序4:编写一个能计算任意m行n列的二维数组中的最大值,并指出其所在的行列下标值的函数,利用该函数和动态内存分配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论