c语言实验报告1
《C语言程序设计》实验报告(实验1-12)

《C语⾔程序设计》实验报告(实验1-12)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。
⼆、预习内容:教材《C语⾔程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。
#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。
2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。
成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。
C语言程序设计实验报告 实验一 简单程序设计

C语言程序设计实验报告实验一简单程序设计班级 2017231 学号 201723128 姓名郭鹏博一、实验目的1、熟悉VC6.0编程环境。
2、掌握使用VC6.0输入源程序、编译连接和运行程序的基本过程。
3、练习C调试程序的方法。
4、熟练使用赋值运算、算术运算等表达式。
5、熟练使用标准输入、输出函数及各种数据类型的格式说明符。
二、实验内容及步骤1、分析程序,根据要求写出结论:课本P83页第4题、第5题;第4题(1)c1=a,c2=bc1=97,c2=98原因:字符变量实质上是一个字节的整形变量,由于它常用来存储字符,所以称为字符变量。
可以把0到127之间的整数赋给一个字符变量。
在输出字符变量的值时,可以选择以十进制整数形式或字符形式输出。
(2)c1=?c2=?c1=-59,c2=-58原因:Visual C++系是把char默认为signed char类型的,而signed char类型的变量允许存储的值为—128~127,但字符的代码不可能为负值,所以在存储字符时实际上只用到0~127这一部分,其第1位都是0。
给字符型变量赋值197和198时,所赋之值超出了字符变量的取值范围,导致无论是以以十进制整数形式输出还是以字符形式输出,输出结果均错误。
(3)c1=a,c2=bc1=97,c2=98原因同(1)第5题2、程序改错下面程序的功能是计算球体的表面积和球体的体积,程序中有多处错误,并且指定必须按下面的形式输入、输出数据。
请对程序做相应的修改。
#include <stdio.h>main{double r,s,v;int pi=3.14;scanf("%d",r);S=4*pi*r*r; /*计算球体的表面积*/V=4.0*pi*r*r*r/3.0; /*计算球体的体积*/printf("%d",r);printf("s=%f\n",s,"v=%d\n",v);}当程序运行时,要求屏幕的显示和指定的输入形式如下:input r:2.0<回车> (此处的2.0是由用户输入的数据)r=2.000000 (此处要求的是输出形式)s=50.24000000,v=33.49333333具体要求:(1)在VC6.0环境中输入上述源程序。
C语言程序设计

C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。
(2). 设计程序,对给定的两个数求和。
(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。
四、源程序代码:代码1:#include<stdio.h>int main(){printf("hello world!\n");return 0;}运行结果1:程序分析1:代码2:#include<stdio.h> int main(){int a=5,b=6,c;c=a+b;printf("c=%d\n",c);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){int a=5,b=6,c;if(a>b){c=a;}else{c=b;}printf("%d\n",c);return 0;}运行结果3:程序分析3:五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。
三、实验内容:(1). 编写程序,实现小写字母转大写。
(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。
(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。
(4). 编写程序,实现单字符getchar和putchar输入输出。
(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。
四、源程序代码代码1:#include<stdio.h>int main(){char c1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1-32;printf("%c,%d\n",c2,c2);return 0;}运行结果1:程序分析1:代码2:#include<stdio.h>int main(){int a=5,c1,c2;double b=3.141592653,c3,c4;c1=a/b;c3=a/b;c2=a+b;c4=a+b;printf("%d,%d,%lf,%lf\n",c1,c2,c3,c4);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){here: printf("计算三角形的面积请输入‘1’,立方体的体积和表面积请输入‘2’,圆的面积和周长请输入‘3’.\n");int a;scanf("%d",&a);if(a==1){double l,h,s;printf("请输入三角形的底边长和所在底边的高.");scanf("%lf%lf",&l,&h);s=l*h/2;printf("三角形的面积为%.16f\n",s);}else if(a==2){printf("请输入立方体的长宽高.");double b,c,d,v,s;scanf("%lf%lf%lf",&b,&c,&d);v=b*c*d;s=b*c+b*d+c*d;printf("立方体的体积为%.16f,表面积为%.16f\n",v,s);}else{double r,s,c,m;printf("请输入圆的半径");scanf("%lf",&r);m=3.141592653;s=m*r*r;c=2*m*r;printf("圆的面积为%.16f,圆的周长为%.16f\n",s,c);}goto here;}运行结果3:程序分析3:代码4:#include<stdio.h> int main(){getchar();putchar('b');return 0;}运行结果4:程序分析4:代码5:#include<stdio.h>int main(){int a;printf("请输入任意十进制整数:");scanf("%d",&a);printf("转换为八进制数为:%o\n转化为十六进制数为:%x\n",a,a); return 0;}运行结果5:程序分析5:五、实验总结C语言程序设计上机实验报告实验三一、实验名称:选择结构程序设计二、实验目的:正确使用逻辑运算符和逻辑表达式,熟练掌握if 语句和switch 语句,学习调试程序。
c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。
二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。
三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。
熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。
2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。
运用 switch 语句进行多分支选择,处理不同的情况。
利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。
3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。
掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。
4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。
实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。
5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。
掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。
6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。
了解共用体的概念和使用场景,比较结构体和共用体的区别。
四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。
C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。
一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。
C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。
在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。
非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。
通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。
不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。
如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。
通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。
c语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。
3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。
4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。
程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。
C语言实验报告,实验一和实验二
实验一C语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
5、学会使用C的有关算术运算符,以及包含这些运算符的表达式二、上机实验及运行结果1、例题实验及运行结果例一:#include"stdio.h"void main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}运行结果为Hello, world !Welcome to the C language world!Everyone has been waiting for.在第一次输入源程序时,由于粗心在printf(“Hello,world!”)后面忘记输入“;”,在编译中检查出来,修改后编译成功。
例二:#include"stdio.h"void main(){int a,b,sum;a=123;b=456;sum=a+b;printf("sum is %d\n",sum);}运行结果为:sum is 579。
一次编译就成功了。
例三:#include"stdio.h"void main(){int a,b,c;int max(int,int);scanf("%d,%d",&a,,&b);c=max(a,b);printf("max=%d",c);}int max(int x,int y){int z;if (x>y) z=x;else z=y;return(z);}键盘输入“8,9”,屏幕上输出“max=9”例四:#include"stdio.h"void main(){char c1 , c2;c1=97;c2=98;printf("%c %c", c1, c2);}在此基础上1)加一个printf语句,并运行之。
实验报告
C语言程序设计实验报告1实验目的(1)熟练掌握scanf()/print()库函数的调用格式,正确使用各种格式转换控制副,掌握各种数据的输出输入方法;2(2)掌握getchar()/putchar()库函数的调用格式,以及使用它们进行字符类型数据输出输入的方法。
实验内容(2)输入并运行下面程序:#include<stdio.h>main(){int a,b,c;scanf("%d%d",&a,&b);c=a/b;printf("%d\n",c);}要求:调试通过后,运行该程序。
○1输入值:50 4<回车>,查看并运行结果;○2输入值:50.4 10.8<回车>,查看运行结果;○3输入值:50000 100<回车>,查看运行结果;○4输入值:10 0<回车>,查看运行结果;○5输入值:50,4<回车>,查看运行结果。
分析得到的结果,并说明原因。
(3)从键盘上输入三个小写字母,输出其对应的大写字母(例如:输入:a,b,c,则输出分别为A,B,C)。
要求:○1通过一条scanf库函数语句输入三个小写字母,通过printf函数以空格键分隔字符输出;○2通过getchar函数输入三个小写字母,通过printf函数以域宽为3的规定格式输出;○3通过getchar函数输入三个小写字母,通过putchar函数输出。
3算法描述流程图4.源程序:○1#include<stdio.h>main(){char c1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);printf("%c %c %c\n",c1-32,c2-32,c3-32);}○2#include<stdio.h>main(){char c1,c2,c3;c1=getchar();getchar();c2=getchar();getchar();c3=getchar();printf("%3c,%3c,%3c\n",c1-32,c2-32,c3-32);}○3#include<stdio.h>main(){char c1,c2,c3;c1=getchar();c2=getchar();c3=getchar();putchar(c1-32);putchar(c2-32);putchar(c3-32);}5测试数据:4 56789116运行结果(1)50 4 12Press any key to continue (2)50 .4 10.8Press any key to continue (3)50000 100500Press any key to continue (4)10 0Press any key to continue (5)50,4Press any key to continue (1)a bcA B CPress any key to continue6(2)a,b,c7A,B,CPress any key to continue8(3)abc9ABCPress any key to continue7出现问题及解决方法1.在编写第一个程序,运行的时候发现出现了一个错误,最后才找到是因为c的大小写问题,幸好及时改正。
c语言实验报告
计算机软件技术基础实验报告实验一:线性表的排序与查找一.实验内容a)键盘输入一组无序数据,添加到线性表中;b)排序线性表并输出排序结果;c)键盘输入一个数,并插入到排好序的线性表中(要求插入后的表仍为有序表),输出结果;d)键盘输入一个数,并从线性表中删除相应的数据,输出结果。
二,源程序// Experiment1。
cpp :定义控制台应用程序的入口点。
//#include "stdafx.h”#include "iostream”#include 〈conio。
h〉// 程序实现有各种方法,这里给出一个实例。
// 定义一个线性表const int nMaxSize = 15;// 最大值int nLen = 0; // 表中元素个数int nLinearList[nMaxSize];// 定义操作void LSort();void LOut();void LInsert(int n);void LDelete(int n);int main(int argc,TCHAR*argv[]){// 输入数据并放入线性表中printf(”Pleas e input data\n"); // std::cout 〈< "Please input data\n”;int nIn = 0;for (int i = 1; i <= 10;i++){scanf(”%d”,&nIn);// std::cin >〉nIn;nLinearList[i] = nIn;nLen++;}LSort();// 排序线性表LOut();// 输出结果printf(”Please input a data to i nsert \n”);scanf(”%d”,&nIn);LInsert(nIn);// 输入一个数字,并插入到线性表中LOut();printf(”Please input a data to delete \n");scanf("%d”,&nIn);LDelete(nIn);// 输入一个数字,并从线性表中删除LOut();char chTmp;printf(”Please input a char to finish this program.");chTmp = getch();return 0;}void LSort()// 冒泡排序,由大到小{int j,F,k,M;F=nLen;while(F〉0){k=F-1;F=0;for(j=1;j<=k;j++){if(nLinearList[j]〈nLinearList[j+1]){M=nLinearList[j];nLinearList[j]=nLinearList[j+1];nLinearList[j+1]=M;F=j;}}}}void LOut(){printf("\n”);for (int i = 1;i 〈= nLen;i++){printf( "%d, ", nLinearList[i]);}printf(”\n”);}void LInsert(int n){int i,j;i=1;while (i<nLen){ if(nLinearList[i]〈=n){nLen++;for(j=nLen;j>=i;j—-)nLinearList[j+1]=nLinearList[j];nLinearList[i]=n;break;}i++;}}void LDelete(int n){int i,j;for(i=1;i<=nLen;i++){if(nLinearList[i]==n){for(j=i;j〈=(nLen—1);j++)nLinearList[j]=nLinearList[j+1];nLen—-;break;}}}三运行结果实验2:栈与队列的应用一.实验内容a)键盘输入算数表达式,并放入队列当中;b)应用栈的概念设计表达式求值算法;输出表达式求值结果二.源程序// Experiment2。
c语言实验报告总结
c语言实验报告总结在大学的计算机科学与技术专业中,学习C语言是一个非常重要的环节。
通过实验的方式,我们可以更好地理解和掌握这门编程语言。
在此次实验中,我对C语言的基本语法、数据类型、控制结构以及函数等方面进行了深入学习和实践,并取得了一定的成果。
首先,在实验中我通过编写简单的程序,掌握了C语言的基本语法规则。
C语言是一门结构化的编程语言,具有严格的语法要求。
通过实验,我深刻理解了C语言的语法规则对编写正确程序的重要性。
在每个实验环节中,我都会根据实验要求,遵循正确的语法结构,确保程序能够顺利运行。
其次,在实验过程中,我掌握了C语言的各种数据类型。
C语言中的数据类型包括整型、浮点型、字符型等多种类型,每一种类型都有其特定的用途和限制。
通过实验,我学会了如何定义不同类型的变量,并能够利用这些变量进行各种运算和操作。
这为我后续的程序设计提供了基础。
另外,在实验中我学习了C语言的控制结构。
控制结构在程序设计中起到了重要的作用,可以通过条件判断和循环控制实现不同的功能。
在实验中,我通过编写程序,学会了使用if语句、switch语句以及for、while、do-while等循环语句。
这些控制结构的灵活运用使我的程序更加健壮和实用。
在实验的过程中,我还学习了C语言中的函数。
函数是C语言中的一种代码模块,可以将一段具有特定功能的代码封装起来,提高代码复用性和可维护性。
通过实验,我了解了函数的定义、声明和调用等基本概念,并学会了如何自己编写函数,并在主程序中调用这些函数。
函数的使用使我的程序模块更加清晰,减少了代码的重复性,提高了代码的可读性和可维护性。
总的来说,这次C语言的实验让我受益匪浅。
通过实际动手编写程序,我不仅巩固了对C语言基础知识的理解,还掌握了更多实际应用的技巧。
同时,实验还培养了我的分析和解决问题的能力,使我在编写程序时可以更加深入地思考和分析。
在未来的学习和工作中,C语言将成为我必不可少的工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计报告日期:2222年11月2日程序主要内容任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。
程序如下:#include<time.h>#include<stdlib.h>#include<stdio.h>int Magic(int x);int Answer();main(){int guess,answer,counter=1;do{printf("%d*%d=",Magic(1),Magic(2));answer=Magic(1)*Magic(2);if(Answer()==answer){printf("Right\n");break;}elseprintf("Wrong!,please try again\n");}while(counter>=1);}int Magic(int m){int x,int y;srand(time(NULL));x=rand()%10+1;y=rand()%10+1;if(m==1) return x;if(m==2) return y;}int Answer(){int n;scanf("%d",&n);return n;}任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。
:程序如下:#include<time.h>#include<stdlib.h>#include<stdio.h>int Magic(int x);int Answer();int Exam();main(){int n;n=Exam();if(n==0) printf("Right\n");else if(n==1) printf("Wrong!You have tried three times!Test over\n ");}int Magic(int m){int x,int y;srand(time(NULL));x=rand()%10+1;y=rand()%10+1;if(m==1) return x;if(m==2) return y;}int Answer(){int n;scanf("%d",&n);return n;}int Exam(){int guess,answer,counter=1;do{printf("%d*%d=",Magic(1),Magic(2));answer=Magic(1)*Magic(2);counter++;if(Answer()==answer)return 0;else if(counter<=3)printf("Wrong! please try again\n");}while(counter<=3); return 1;任务3:在(1)的基础上,连续做10道乘法运算题,不给机会重做,若学生回答正确,提示“RIGHT”,否则提示“WRONG”,并按每题10分输出总分,再输出正确概率。
程序如下:#include<time.h>#include<stdlib.h>#include<stdio.h>int Magic(int x);int Answer();int Exam();main(){printf("rate=%d%%\n",Exam());}int Magic(int m){int x,int y;srand(time(NULL));x=rand()%10+1;y=rand()%10+1;if(m==1) return x;if(m==2) return y;}int Answer(){int n;scanf("%d",&n);return n;}int Exam(){int answer,counter=1;int i=0;do{printf("%d*%d=",Magic(1),Magi c(2));answer=Magic(1)*Magic(2);counter++;if(Answer()==answer){printf("Right!\n");i++;}elseprintf("Wrong!\n");}while(counter<=10);i=i*10;return i;}任务4:在(3)的基础上,随机产生10道四则运算题,运算类型为随机的加减乘除任意一种,不给机会重做,若学生回答正确,提示“RIGHT”,否则提示“WRONG”,并按每题10分输出总分,再输出正确概率。
程序如下:#include<time.h>#include<stdlib.h>#include<stdio.h>int Magic(int x);int Answer();int Exam();main(){printf("rate=%d%%\n",Exam()*10); }int Magic(int m){int x,int y;srand(time(NULL));x=rand()%10+1;y=rand()%10+1;if(m==1) return x;if(m==2) return y;}int Answer(){int n;scanf("%d",&n);return n;}int Exam(){int counter=1,answer,i=0;char a;do{srand(time(NULL));END:a=rand()%100+1;if(a==43){printf("%d%c%d=",Magic(1),a,Magic (2));answer=Magic(1)+Magic(2);}else if(a==45){printf("%d%c%d=",Magic(1),a,Magi c(2));answer=Magic(1)-Magic(2);}else if(a==42){ printf("%d%c%d=",Magic(1),a,Mag ic(2));answer=Magic(1)*Magic(2);}else if(a==47){ printf("%d%c%d=",Magic(1),a,Mag ic(2));answer=Magic(1)/Magic(2);}else goto END;counter++;if(Answer()==answer){printf("Right!\n");i++;}elseprintf("Wrong!\n");}while(counter<=10); return i;任务5:在(4)的基础上,在学生完成10道题后,若正确率低于75%,则重新做10道,知道高于75%.程序如下:#include<time.h>#include<stdlib.h>#include<stdio.h>int Magic(int x);int Answer();int Makeop();void Comment(int x); main(){ int rate;LI:rate=Makeop()* 10;printf("rate=%d%%\n ",rate);if(rate<75){ printf("Right rate is toolow,Again!\n");goto LI; }}int Magic(int m){int x,int y;srand(time(NUL L));x=rand()%10+1; y=rand()%10+1;if(m==1) return x;if(m==2) return y;}int Makeop(){intcounter=1,answer,i=0,a;char op;do{srand(time(NULL));END:a=rand()%4+1;if(a==1){op=43;answer=Magic(1)+Magic(2);}elseif(a==2){ op=45;answer=Magic(1)-Magic(2);}elseif(a==3){ op=42;answer=Magic(1)*Magic(2);}elseif(a==4){ op=47;answer=Magic(1)/Magic(2);}else gotoEND;printf("%d%c%d=",Magic(1),op,Magic(2));counter++;if(Answer()==answer){Commen(1);i++;}elseCommen(2);}while(counter<=10);return i;}int Answer(){int n;scanf("%d",&n);return n;}void Comment(int x){int x,y;srand(time(NULL));x=rand()%4+1;y=rand()%4+1;if(x==1){switch(x){case1:printf("Verygood!\n");break;case2:printf("Excellent!\n");break;case3:printf("Nicework!\n");break;case4:printf("Keep up the good work!\n");break;}}else{switch(y){case 1:printf("No. Pleasetry again!\n");break;case 2:printf("Wrong. Tryonce more!\n");break;case 3:printf("Don't giveup!\n");break;case 4:printf("Not correct.Keep trying!\n");break;}}}任务6:在(5)的基础上,随机产生一个1到4之间的随机数,配合使用switch语句,printf()函数调用,来为学生输入的每一个答案输出不同的评价。