C语言培训上机实验题目
c语言上机实验题及参考答案
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}
c上机实验(经典附答案)
1.根据下列函数接口,实现该函数.voidSortP(int a[],int m, int flag)函数的功能:如果flag==0,则函数实现对数组a的前m个元素进行降序排列,如果flag!=0,则对数组a的前m个元素进行升序排列.#include<stdio.h>void main(){voidSortP(int a[],int m, int flag);int a[5],m=3,flag;inti;for(i=0;i<5;i++)scanf("%d",&a[i]);scanf("%d",&flag);SortP(a,3,flag);for(i=0;i<5;i++)printf("%d\n",a[i]);}voidSortP(int a[],int m, int flag){inti,t,j;if(flag==0){for(i=0;i<m-1;i++)for(j=0;j<m-i-1;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}else{for(i=0;i<m-1;i++)for(j=0;j<m-i-1;j++){if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}}2.任意输入三个整数,求其中非负数的和。
#include<stdio.h>void main(){int a[3],i,sum=0;for(i=0;i<3;i++)scanf("%d",&a[i]);for(i=0;i<3;i++)if(a[i]>=0)sum=sum+a[i];printf("%d",sum);}3.任意输入三个整数a,b,c,将他们从大到小输出。
c语言上机实验题
c语言上机实验题1.下列程序中,要求main函数实现如下功能:从键盘上输入三个正整数,求出它们中的最大值。
请完善程序,并在程序最后用注释的方式给出你的测试数据及在这组测试数据下的运行结果。
#includevoidmain(){inta,b,c,ma某;printf(\canf(\if(a>b)ma某=a;elema某=bif(c>ma某)ma某=c;printf(\%d\}/某1,2,5ma某ofthethreenumberi5某/2.请编程序,对从键盘上输入的某值,根据以下函数关系计算出相应的y值(设某,y均为整型量)。
某某<00<=某<1010<=某<2020<=某<40#includemain(){int某,y;canf(\if(某<0)y=0;eleif(某>=0&&某<=10)y=某;eleif(某>=10&&某<=20)y=10;eley=-5某某+20;printf(\}y0某10-5某+203.写程序计算下列各表达式的值:1)1234/513(2.240.242)22)3.683)213e2#include#includemain(){floata,b,c;a=2.0/(4.0/5+3)+1;b=qrt((13-pow(2.24-pow(0.24,2),2))/3.68);c=2某3.14159某qrt(13+e某p(2));printf(\}4.写程序计算5某2+2某+6的两个实根。
考虑用合适的方式输出。
(提示:可先计算出判别式b2-4ac的值)#include#includemain(){floata,b,c,某1,某2,p,q,dic;printf(\canf(\dic=b某b-4某a某c;if(dic>=0){p=-b/(2某a);q=qrt(dic)/(2某a);某1=p+q;某2=p-q;printf(\}eleprintf(\}5.从键盘上任意输出一个年份year,判别该年是否为闰年,如是输出“ye”,否则输出“no”。
C语言培训上机实验题目
安装Visual C ++6.0下载请从群里下载Microsoft Visual Studio.rar。
将下载的文件Microsoft Visual Studio.rar解压后即可使用。
请直接运行文件“Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE”实验一认识C语言【实验目的】1.熟悉C程序设计编程环境Visual C ++,掌握运行一个C程序设计的基本步骤,包括编辑、编译、连接和运行。
编辑:编写源程序文件.c编译:生成目标文件.obj连接:生成可执行文件.exe运行:执行.exe文件。
2.掌握C语言程序设计的基本框架,能够编写简单的C程序。
3.了解程序调试的思想,能找出并改正C程序中的语法错误。
【实验内容】1-1 在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是学号,如D:\3050888。
1-2 编程示例,在屏幕上显示一个短句“Hello World!”。
源程序# include <stdio.h>void main( ){printf("Hello World! \n");}运行结果Hello World!作为第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C 程序的基本步骤,请读者按照以下步骤操作。
(1)启动VC++执行“开始”—>“程序”—>“Microsoft Visual Studio 6.0”—> “Microsoft Visual C++ 6.0”,进入VC++编程环境(如图1.1所示)。
图1.1 VC++窗口(2)新建文件执行“文件/File”—>“新建/New”,单击“文件/Files”选项卡(如图 1.2所示),先在“文件/File name”栏中输入test,把C源(程序)文件命名为test.cpp,在“目录/Location”框中选择你已经建立的文件夹,如,D:\3050888,然后选中“C++ Sourse Files”,单击“确定”按钮,在D:\3050888下就新建了文件test.cpp,并显示编辑窗口和信息窗口(如图1.3所示)。
c语言20题上机题目
c语言20题上机题目1.计算球体积Problem Description根据输入的半径值,计算球的体积。
Input输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input1 1.5Sample Output4.189 14.1372.成绩转换Problem Description输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。
Output对于每组输入数据,输出一行。
如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
Sample Input56 67 100 123Sample OutputE D A Score is error!3.第几天?Problem Description给定一个日期,输出这个日期是该年的第几天。
Input输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input1985/1/20 2006/3/12Sample Output20 714.求奇数的乘积Problem Description给你n个整数,求他们中所有奇数的乘积。
Input输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
Output输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
Sample Input3 1 2 34 2 3 4 5Sample Output3 155.平方和与立方和Problem Description给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
c语言上机练习共35篇
c语言上机练习共35篇C 语言程序上机实训题上机练习一一、程序改错题:程序功能:求 100 以内的偶数之和. #include "stdio.h" main() { int i,sum=1; sum+=i; printf("Sum=%d \n";sum); getch(); } 二、程序填空题:程序功能:输入数组最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。
main() { int number[10]; input(number); max_min(number); output(number);} input(int number[10]) { int i; for(i=0;【?】;i++) scanf("%d,",&number[i]); scanf("%d",&number[9]);} max_min(int array[10]) { int max,min,k=0,l=0,t,p,; max=min=array[0]; for(p= 1;pmax) {max= array[p];k=p;} else if(array[0] /**********End **********/} main() { int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is %ld\n", fun(m)); }1C 语言程序上机实训题上机练习二一、程序改错题:功能:求 1 到 10 的阶乘的和。
main() { int i; float t,s=0; float fac(int n); for(i=1;i #include 【?】 main() { float a,b,c,disc,x1,x2,realpart,imagpart;scanf("%f%f%f",&a,&b,&c); printf("the equation"); if(【?】/********** }End **********/2C 语言程序上机实训题上机练习三一、程序改错题:功能:将一个正整数分解质因数。
C语言上机编程题,全
上机编程题的最大值,并将该数以格式"%.3f"写到1. 对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)考生目录下的新建文件design1.dat中。
#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;p=fopen("design1.dat","w");max=f(1);for(x=2;x<=10;x++)if(f(x)>max) max=f(x);fprintf(p,"%.3f",max);fclose(p);}float f(float x){y=y-10*cos(y)-5*sin(y);return (y);},若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,2. z=f(x,y)=(3.14*x-y)/(x+y)并将x1、y1以格式"%d,%d"写入到考生目录下的新建文件design1.dat中。
#include <stdio.h>void main(){ FILE *p; float f(float x,float y),min;int x,y,x1,y1;p=fopen("design1.dat","w");min=f(1,1);for(x=1;x<=6;x++)for(y=1;y<=6;y++)if(f(x,y)<min){min=f(x,y); x1=x;y1=y;}fprintf(p,"%d,%d",x1,y1);fclose(p);}float f(float u,float v){ return (3.14*u-v)/(u+v); }若x,y取值为区间[0,10]的整数,找出使z取最小值的3. z=f(x,y)=10*cos(x-4)+5*sin(y-2),x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的新建文件design1.dat中。
wf_《C语言》上机实验题及参考答案_C语言编程题精选编程实现对键盘输入的..
C语言编程题精选1、编程实现对键盘输入的英文名句子进行加密。
用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变。
2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。
3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、5角、1角、5分、1分各多少张。
(输出面额最大值:比如345.78=100*3+10*4+5*1+0.5*1+0.1*2+0.01*8)4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。
5、编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词,在屏幕输出该单词。
6、模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
7、任何一个自然数m的立方均可写成m个连续奇数之和。
例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。
8、知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
9、编制一个完成两个数的四则运算程序。
如:用户输入34.56+56=则输出结果90.00。
以‘=’作为结束符,要求运算结果保留两位小数,用户输入时一次将两个数和操作符输入。
(试着编制多个非负数的运算程序,即输入任意一式子(不包括括弧,以‘=’为结束符),能算出它的值。
如:输入10*8+3/3=,输出27.67..,假定优先级就是从左往右的。
)10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
c_上机面试题目(3篇)
第1篇一、题目背景C语言作为一种经典的编程语言,广泛应用于系统软件、嵌入式系统、游戏开发等领域。
为了考察应聘者对C语言的掌握程度,以下列出了一份C上机面试题目,涵盖了C语言的基本语法、数据结构、算法和编程实践等方面。
二、题目内容1. 编写一个C程序,实现以下功能:(1)定义一个结构体`Person`,包含以下成员变量:- 姓名(字符数组,长度不超过50)- 年龄(整数)- 性别(字符,'M'代表男性,'F'代表女性)(2)编写一个函数`printPerson`,用于打印`Person`结构体变量的信息。
(3)在主函数中,创建一个`Person`数组,包含3个元素,并使用`printPerson`函数打印每个元素的信息。
2. 编写一个C程序,实现以下功能:(1)定义一个函数`reverseString`,用于将字符串反转。
(2)在主函数中,定义一个字符串`str`,调用`reverseString`函数,并打印反转后的字符串。
3. 编写一个C程序,实现以下功能:(1)定义一个函数`isPalindrome`,用于判断一个字符串是否为回文。
(2)在主函数中,定义一个字符串`str`,调用`isPalindrome`函数,并打印结果。
4. 编写一个C程序,实现以下功能:(1)定义一个函数`findMax`,用于在整数数组中查找最大值。
(2)在主函数中,定义一个整数数组`arr`,调用`findMax`函数,并打印最大值。
5. 编写一个C程序,实现以下功能:(1)定义一个函数`sum`,用于计算两个整数之间的所有整数之和。
(2)在主函数中,定义两个整数`a`和`b`,调用`sum`函数,并打印结果。
6. 编写一个C程序,实现以下功能:(1)定义一个函数`isPrime`,用于判断一个整数是否为素数。
(2)在主函数中,定义一个整数数组`arr`,调用`isPrime`函数,并打印每个元素是否为素数。
C语言上机试题(卷)与答案解析
实验一 Visual C++6.0的使用及顺序结构程序设计一、实验目的1、掌握启动和退出VC6的方法。
2、熟悉VC6开发环境。
3、初步掌握简单程序的上机操作基本步骤,熟悉C单文件程序的输入、编译、链接和运行过程。
4、初步掌握程序的编辑修改和调试。
5、熟练使用赋值运算、算术运算等表达式。
6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。
二、实验内容1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。
请同学们按照下面的实验指导学习VisualC++6.0的使用。
1.启动VisualC++6.0开发环境(1)单击“开始”按钮,选择“程序” ——〉“Microsoft Visual Studio 6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。
(2)单击“结束”按钮,关闭窗口,进入VC6.0开发环境的主窗口。
2.使用Visual C++6.0对一个C程序进行编辑、编译、连接和运行。
⑴分析Visual C++6.0中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。
⑵步骤①编辑图1-1 New对话框编辑是将C源程序输入计算机的过程。
在Visual C++6.0主界面下,点击File菜单,选择New菜单项,即可出现New对话框,如图1-1所示。
在弹出窗口中的Files标签页下,选择C++ Source File。
在选项卡右面的File编辑框里输入文件名如“Exa.c”,在L ocation编辑框里输入文件路径,如“d:\test”。
点击OK按钮。
将出现编辑窗口,如图1-2所示。
在图1-2所示的右端编辑窗口里输入以下C源程序并保存文件。
图1-2 编辑窗口②编译编译是使用系统提供的编译器将文本文件Exa.c生成机器语言的过程,结果为Exa.obj,由于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。
C语言上机实训
C语言上机实训作业班级:姓名:第一次上机实验题一:2,调试错误截图:(如果有)3,错误原因:符号错误,忘记在末尾加分好,数组知识没有熟练掌握,小括号大括号不规范。
忘记数组知识的利用,函数类型不符合条件。
4,体会和收获:复习在课堂所学习的知识,找出自己在学习中所存在的问题,更加熟练的使用所学知识来解决问题。
在为期两周的时间里,我们将本学期的c语言进行了大概复习与检测,对自己有很好的提升,增强了我的专业知识,也增强了我解决问题的能力。
题二:1):1,源文件及运行结果截图2,调试错误截图:(如果有)无4,体会和收获:很好的巩固了所学知识,来解决实际问题,让我对未来更加充满自信。
题三:1)if-else:3,源文件及运行结果截图2,调试错误截图:(如果有)3,错误原因:开始的时候没能正确理题意,不知道如何下手该怎样做,没有熟练掌握if-else的运用,导致错误。
4,体会和收获:很好的巩固了所学知识。
第二次上机实验题一:输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。
3调试错误截图:(如果有)无4,体会和收获:找出自己在学习中所存在的问题,更加熟练的使用所学知识来解决问题,在具体解决问题时更加认真。
题二:求一个5*4的矩阵各列元素的平均值,各行元素的平均值,和所有元素的平均值。
4,源文件及运行结果截图5,调试错误截图:(如果有)无开始的时候没能正确理题意,不知道如何下手该怎样做,没有熟练掌握,导致错误。
6,体会和收获对待事情一定要认真,不可马虎大意题三:任意输入一个年份,判断是否是闰年。
闰年的条件是符合下面条件之一:(1)原文件及运行结果截图(2)调试错误截图(如果有)无(3)体会和收获掌握了如何用所学知识解决问题。
第三次上机实验题一:任意输入一个5位自然数(不含0),输出由该自然数的各位数字组成的最小的数。
例如,输入8593,则输出为3589。
2,调试错误截图:(如果有)无4,体会和收获:复习在课堂所学习的知识,找出自己在学习中所存在的问题,更加熟练的使用所学知识来解决问题。
C语言常见、经典的上机实验题目
3.3 常见、经典的上机实验题目1、/*功能:数组x有十个元素,编程将其元素首尾颠倒。
(即第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换…)。
*/main(){int a[10]={5,65,654 ,5 ,5 ,56,588,77,58,5},j,x;for(j=0;j<5;j++){x=a[j]; a[j]=a[9-j]; a[9-j]=x;}for(j=0;j<10;j++)printf("%d\t", a[j]);}2、/*功能:统计输入的一串字符(假设以‘\n’结束)中,大写字母A,B,...,Z各出现的次数。
(提示,用一个数组count[26]计数各个字母出现的次数,count[0]表示A出现的次数,count[1]表示B出现的次数,...,count[25]表示字母Z出现的次数。
初始时count的各元素值为0。
以后,每读入一个字符ch ,若它是一个大写字母,就让相应计数单元count[ch-'A']加1。
*/main( ){int count[26] ,i;char ch[80];for(i=0;i<26;i++)count[i]=0;gets(ch);for(i=0;i<strlen(ch);i++)if (ch[i]> ='A'&&ch[i]<='Z') count[ch[i]- 'A']++;for(i=0;i<26;i++)printf("%c %d\t", 'A'+i,count[i]);}3、/*功能:键盘输入若干数,输出它们的平均值,输入值为-1时,结束输入*/main( ){int x,i=1,s;scanf("%d",&x);while(x!=-1){s=s+x;i++;scanf("%d",&x);}printf("%d\n",s/i);}4、/*功能:在字符串str中查找字符ch首次出现的位置,若str字符串中不包含字符ch,则输出0。
c语言上机试题库及答案
c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。
```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。
大一C语言上机实验试题及答案
大一C语言上机实验试题及答案一、选择题(每题2分,共10分)1. C语言中,用来定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D3. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. intD. void答案:A4. 下列哪个选项是正确的C语言数组定义?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = {1, 2};D. int arr = {1, 2, 3};答案:B5. C语言中,用于输出字符串的函数是()。
A. printfB. printC. coutD. printf_s答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于声明一个整型变量的关键字是____。
答案:int2. 以下代码段的输出结果是____。
```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 在C语言中,用于声明一个浮点型变量的关键字是____。
答案:float4. 若有以下代码段:```cint x = 5, y = 3;int result = x / y;```则变量result的值是____。
答案:15. 在C语言中,用于声明一个字符型变量的关键字是____。
答案:char三、编程题(每题10分,共20分)1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出其反转后的字符串。
C语言正式上机题
C语⾔正式上机题C语⾔上机实验题⽬1 打印图形1.输⼊n值,打印下列图形:**************** 当n = 4时2.输⼊n值,打印下列⾼和上底均为n 的等腰梯形:**************************** 当n = 4时3.输⼊n值,打印下列⾼和下底均为n 的等腰梯形:**************************** 当n = 4时4.输⼊n值,打印下列⾼和上底均为n的等腰空⼼梯形:****** ** ** ************** 当n = 5时5.输⼊n值,打印下列⾼和下底均为n的等腰空⼼梯形:************** ** ** ****** 当n=5时6.编写程序打印下列上三⾓形式的乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————1 2 3 4 5 6 7 8 94 6 8 10 12 14 16 1825 30 35 40 4536 42 48 5449 56 6364 72817.编写程序打印下列乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————8164 7249 56 6336 42 48 5425 30 35 40 4516 20 24 28 32 369 12 15 18 21 24 274 6 8 10 12 14 16 181 2 3 4 5 6 7 8 98.编程打印数字⾦字塔:11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 9.编程打印数字⾦字塔:1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 110.输⼊n值,打印边长为n的空⼼正六边形:******* ** ** ** ** ** ** ** ** ******* 当n = 6时11.编写程序输出下⾯的图形,要求输⼊顶⾏字符和图形的⾼。
(完整版)C语言上机练习题及答案
(完整版)C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。
# includevoid main(){int x,y,z,a;scanf ("%d,%d,%d",&x,&y,&z);if(x>y) {a=x; x=y;y=a;}if(x>z) { a=x; x=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",x,y,z);}2输入圆的半径,输出圆的周长和面积。
# include# define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。
# includevoid main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。
# includeint main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。
C语言实验报告及上机习题题目
一、实验报告BG1~5 (1)1.扫雷游戏(实验五3.2) (1)2.最大公约数、最小公倍数(实验十3.2) (1)3.统计单词(实验十四3.1) (1)4.查找字符串(实验十八3.2) (1)5.结构体(实验十九3.1/3.2) (1)二、上机习题XT1~12 (1)1.利用泰勒级数求sin(x)(实验三3.2) (1)2.鸡兔同笼(百驴百担) (1)3.求三角形面积(边长、坐标点) (1)4.兔子繁殖(猴子吃桃)(实验四3.1) (1)5.求定积分(矩形法、梯形法)(实验七3.1) (2)6.打印字母图案 (2)7.数组排序(选择法、简单选择法、冒泡法)(指针法逆序) (2)8.字符串比较(返回指针的函数) (2)9.单链表应用(200808实验十六3) (2)10.文件加密(200809实验十七3.2) (2)要求:1.实验报告需要按时上交,上机习题随堂检查;2.报告命名:使用年级+专业+班+学号+姓名+序号组合,一、实验报告BG1~51.扫雷游戏(实验五3.2)编制程序模拟“地雷游戏”。
在9×9的方格中,随机布上10个“地雷”,按9行9列输出各格子的数(有雷为9,无雷为0)。
在有相邻地雷的格子内进一步标出相邻地雷数。
2.最大公约数、最小公倍数(实验十3.2)编制程序:求两个数的最大公约数和最小公倍数,要求用一个函数求最大公约数,另外一个函数求最小公倍数。
要求将主函数、求最大公约数函数、求最小公倍数函数分别存放在三个不同文件a.cpp、b.cpp和c.cpp中。
使用文件包含的方法进行多源程序处理。
编程扩展:求三个数的最大公约数和最小公倍数。
3.统计单词(实验十四3.1)函数CountWord的原型是:int countWord(char *s, int n);其功能是统计字符串s 中包含字母数量大于n的单词个数。
请编写函数CountWord并用相应主函数进行测试。
4.查找字符串(实验十八3.2)设有一文本文件,其最长的文本行不会超过255个字符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安装Visua l C ++6.0下载请从群里下载M icroso ft Visual Studio.rar。
将下载的文件M icroso ft VisualStudio.rar解压后即可使用。
请直接运行文件“Microso ft VisualStudio\Common\MSDev98\Bin\MSDEV.EXE”实验一认识C语言【实验目的】1.熟悉C程序设计编程环境Visual C ++,掌握运行一个C程序设计的基本步骤,包括编辑、编译、连接和运行。
编辑:编写源程序文件.c编译:生成目标文件.obj连接:生成可执行文件.exe运行:执行.exe文件。
2.掌握C语言程序设计的基本框架,能够编写简单的C程序。
3.了解程序调试的思想,能找出并改正C程序中的语法错误。
【实验内容】1-1 在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是学号,如D:\3050888。
1-2 编程示例,在屏幕上显示一个短句“Hello World!”。
源程序# include <stdio.h>void main( ){printf("Hello World! \n");}运行结果Hello World!作为第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C 程序的基本步骤,请读者按照以下步骤操作。
(1)启动VC++执行“开始”—>“程序”—>“Microso ft Visual Studio 6.0”—> “Microso ft Visual C++ 6.0”,进入VC++编程环境(如图1.1所示)。
图1.1 VC++窗口(2)新建文件执行“文件/File”—>“新建/New”,单击“文件/Files”选项卡(如图 1.2所示),先在“文件/File name”栏中输入test,把C源(程序)文件命名为te st.cpp,在“目录/Locatio n”框中选择你已经建立的文件夹,如,D:\3050888,然后选中“C++ SourseFiles”,单击“确定”按钮,在D:\3050888下就新建了文件test.cpp,并显示编辑窗口和信息窗口(如图1.3所示)。
图1.2 新建文件思考:我们讲过C语言的源程序文件的扩展名为.c,可现在建立的文件名为.cpp,这可以编译执行吗?解答:vc++6.0是c和c++语言的编程环境,c++语言的扩展名为.cpp,并且c++语言完全包括的c语言的语法内容,所以在c++文件中写c语言的内容是可以编译的。
如果想将源程序文件的扩展名改为.c,只需要在上图中文件一栏中填写test.c就可以了,如果只写test就是只写一个文件名的话扩展名会自动为.cpp,所以我们可以指定扩展名为.c就可以了。
(3)编辑和保存在编辑窗口(如图1.3所示)中输入源程序,然后执行“文件/File ”—>“保存/Save ”或“文件/File ”—>“另存为/Save As ”,保存源文件。
图1.3 编辑源程序(4)编译执行“编译/Build ”—>“编译/Compil e ”或Ctrl + F7(如图1.4所示),在“产生工作区”对话框中(如图1.5所示)选择“是/Y ”,开始编译,并在信息窗口显示编译信息(如图1.6所示)。
图1.4 编译源程序图1.5 产生一个工作区编辑窗口信息窗口图1.6 编译正确图1.6信息窗口中出现的“test.obj - 0 error(s), 0 warning(s)”,表示编译正确,没有发现(语法)错误和警告,并生成了目标文件test.obj。
请查看目录D:\3050888\Debug中是否有test.obj文件。
如果显示有错误e rror(s),指程序中存在致命的错误,必须要改正;如果显示有警告warnin g(s),虽然不影响生成目标文件,但通常也应该改正。
(5)连接执行“编译/Build”—>“构件/Build”或F7,也可用“重建全部/Rebuild All”,开始连接,并在信息窗口显示连接信息(如图1.7所示)。
图1.7信息窗口中出现的“test.exe - 0 error(s), 0 warning(s)”表示连接成功,产生了可执行文件test.exe。
操作完成请查看目录D:\3050888\Debug中是否有test.exe文件。
图1.7 连接成功并产生运行文件(.exe)(6)运行执行“编译/Build”—>“执行/Execute”或Ctrl + F5(如图1.8所示),自动弹出运行窗口(如图1.9所示),显示运行结果“Hello World!”,其中“Press any key to continu e”提示读者按任何键退出DOS窗口,返回到VC++编辑窗口。
图1.8 运行程序图1.9 运行窗口也可以进入源文件的目录双击t e st.exe进行执行。
(Window操作系统都是这样运行一个可执行的程序。
(7)关闭程序工作区执行“文件/File”—>“关闭工作区/Close Workspa ce”(如图1.10所示),在出现的对话框(如图1.11所示)中选择“是/Y”,关闭工作区。
图1.10 关闭程序工作区图1.11 关闭所有文档窗口(8)打开文件如果要再次打开C源文件,可以执行“文件/File”—>“打开/Open”,在文件夹D:\3050888下选择文件t est.cpp(9)查看C源文件、目标文件和可执行文件的存放位置经过编辑、编译、连接和运行后,在文件夹D:\3050888(如图1.12所示)和D:\3050888\Debug(如图1.13所示)中存放着有关的文件,其中源文件te st.cpp在文件夹D:\3050888中,目标文件test.obj和可执行文件test.exe都在文件夹D\3050888\Debug中。
图1.12 文件夹“D:\3050888”图1.13 文件夹“D:\3050888\debug”1-5 调试示例,在屏幕上显示一个短句“Welcome to You!”。
源程序(有错误的程序)# include <stdoi.h>void mian( ){printf(Welcome to You! \n")}运行结果(改正后程序的运行结果)Welcome to You!(1)按照实验内容1-2中介绍的步骤先关闭工作区(点击菜单File close Wordspace),然后再参照上边的步骤创建源程序erro r1_1.cpp。
(2)编译,执行“编译/Build”—>“编译/Compile”,信息窗口中显示编译出错信息(如图1.14所示)。
(3)找出错误,在信息窗口中双击第一条出错信息,编辑窗口就会出现一个箭头指向程序出错的位置(如图1.14所示),一般在箭头的当前行或上一行,可以找到出错语句。
图1.14中箭头指向第4行,出错信息指出W elcome是一个未定义的变量,但Welcome并不是变量,出错的原因是W elcome前少了一个双引号。
图1.14 编译产生的错误信息(4)改正错误,在Welcom e前加上双引号后,重新编译,信息窗口显示本次编译的出错信息,第一条出错信息是“missing ';' before'}'”,双击该出错信息,箭头指向最后一行,出错信息指出在右大括弧}前少了分号。
(5)再次改正错误,在}前补上一个分号后重新编译信息窗口显示编译正确(如图1.15所示)。
图1.15 编译正确(6)连接,执行“编译/Build”—>“构件/Build”或F7。
信息窗口显示连接出错信息(如图1.16所示)。
仔细观察、分析后发现,主函数名main拼写错误,被误写为“mian”。
图1.16 连接产生的错误信息(7)改正错误,把“mian”改为“main”后,重新连接,信息窗口显示连接正确(如图1.17所示)。
图1.17 连接正确(8)运行,执行“编译/Build”—>“执行/Execute”或Ctrl + F5 ,自动弹出运行窗口(如图1.18所示),显示运行结果,与题目要求的结果一致,程序调试结束,读者按任意键返回。
图1.18 程序运行窗口1-6 改错,改正下列程序中的错误,在屏幕上显示以下3行信息。
按照实验内容1-2中介绍的步骤先关闭工作区(点击菜单File close Wordspa ce),然后再参照上边的步骤创建源程序erro r1_2.cpp*************Welcome*************源程序(有错误的程序)# include <stdio.h>void mian( ){printf("*************\n");printf(" Welcome\n")printf("*************\n);}实验二常量【实验目的】1.学会使用字符常量、字符串常量、整型常量、实型常量、及符号常量2.学会使用转义字符、占位符3.学会使用常量之间的运算4.学会使用vc++6.0编程环境中的w ordsp ace、project、files【实验内容】1.编写程序,使用print f输出以下内容:Hello!Welcome to China!1 2 3 4 5 6 7 8 93.1415933.141593…‟“”说明及要求:第一行要使用字符常量进行输出(使用字符的占位符%c)第二行要使用字符串常量(使用字符串的占位符%s)第三行要使用整型常量,注意每个数字中间是空格。
(使用整型的占位符%d)第四行要使用实型常量,并且要用实型常量小数形式(使用实型的占位符%f)第五行要使用实型常量,并且要用实型常量指数形式(使用实型的占位符%f)第六行输出两个单引号,并且要用字符常量(使用转义字符)第七行输出两个双引号,并且要用字符串常量(使用转义字符)参考答案(请同学们将下面的程序补充完整输出第三行及后两行的内容):#include<stdio.h>main(){printf("%c%c%c%c%c%c\n",'H','e','l','l','o','!');printf("%s\n","Welcome to China!");printf("%f\n",3.141593);printf("%f\n",31.41593e-1);}2.运行下边的程序,想想是为什么。