C语言程序设计常见的上机实验题目汇总
- 格式:doc
- 大小:1.02 MB
- 文档页数:21
实验一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 Studio6.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 菜单,选择Ne w 菜单项,即可出现New 对话框,如图1-1 所示。
在弹出窗口中的Files 标签页下,选择C++ Sour ce File。
在选项卡右面的File 编辑框里输入文件名如“Exa.c”,在 Location 编辑框里输入文件路径,2如 : \test”。
点击 OK 按钮。
将出现编辑窗口 ,如图 1-2 所示。
在图 1-2 所示的右端编辑窗口里输 入以下 C 源程序并保存文件。
图 1-2 编辑窗口②编译编译是使用系统提供的编译器将文本文件 Exa.c 生成机器语言的过程 ,结果为 Exa.obj ,由于没有 得到系统分配的绝对地址,还不能直接运行,如图 1-3 所示。
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,将他们从大到小输出。
第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。
程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。
例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。
(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。
)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。
方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。
⏹A说:不是我。
⏹B说:是C。
⏹C说:是D。
⏹D说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
安装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语言上机程序设计题库【程序设计】功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。
【参考代码】double y=0;y=sin(m)*10;return(y);功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。
【参考代码】int i,s=0;for(i=x;i<=y;i+=2)s=s+i;return s;功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)【参考代码】int i,j,t;for(i=0; i < 3; i++)for(j=0; j < i; j++){ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t; }功能:求一个四位数的各位数字的立方和。
【参考代码】int d,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
【参考代码】int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]<pp[j])pp[j]=tt[i][j];}功能:求一组数中大于平均值的数的个数。
【参考代码】int i,k=0;float s=0,ave;for(i=0;i<n;i++)s+=a[i];ave=s/n;printf("%f ",ave);for(i=0;i<n;i++)if(a[i]>ave)k++;return k;题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。
上机编程题的最大值,并将该数以格式"%.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中。
1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2:第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a,int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) &&i%77!=0)a[j++]=i;*n=j;}3:第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n 返回。
答案:void fun(int x, int pp[],int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a”到”z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’:pp[2]++;break;case ‘d':pp[3]++;break;case ‘e’:pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j':pp[9]++;break;case ‘k': pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o’: pp[14]++;break;case ‘p': pp[15]++;break;case ‘q’:pp[16]++;break;case ‘r': pp[17]++;break;case ‘s’:pp[18]++;break;case ‘t’:pp[19]++;break;case ‘u’:pp[20]++;break;case ‘v’:pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x': pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z’:pp[25]++;break;}tt++;}}5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m 且紧靠m的k各素数存入xx所指的数组中。
《C语言》上机实验题及参考答案2017《C语言》上机实验题及参考答案为了帮助大家备考接下来的计算机二级考试,应届毕业生店铺整理了2017《C语言》上机实验题及参考答案,希望能帮助大家备考计算机二级考试。
1、编程实现对键盘输入的英文名句子进行加密。
用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。
3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。
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则输出结果90.00。
要求运算结果保留两位小数,用户输入时一次将两个数和*作符输入。
10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数5,6,4,3,99,3,4,6,511、编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。
C语言常见的上机实验题目汇总
目录
1、计算矩形的周长与面积 (2)
2、大写字母转换为小写字母 (3)
3、判断闰年 (3)
4、大小写字母互换 (4)
5、三个数求最小 (4)
6、计算器 (5)
7、判断三角形并求面积与周长 (6)
8、计算实数的平方根 (7)
10、分段函数 (8)
11、成绩划分等级 (9)
12、等级划分 (10)
13、折扣 (11)
14、水仙花数 (12)
15、利用数组把0-9倒序输出 (13)
16、输入10个数排序后输出 (13)
17、数字倒置 (14)
18、数组求最大值 (15)
19、菱形 (16)
20、统计输入各字符的个数 (16)
21、鸡兔同笼 (17)
21、阶乘求和 (17)
22、韩信点兵 (18)
23、移位求和 (19)
24、时间表 (20)
25、分数求和 (21)
26、小球反弹问题 (21)
1、计算矩形的周长与面积
2、大写字母转换为小写字母
3、判断闰年
4、大小写字母互换
5、三个数求最小
6、计算器
7、判断三角形并求面积与周长
8、计算实数的平方根。