C语言上机实验例题

合集下载

C语言上机试题及答案

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 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 所示。

计算机二级C语言上机实验题

计算机二级C语言上机实验题
11
第 3题 #include<stdio.h> void main() { int c; c=getchar(); switch(cswitch(c-‘2’) { case 0: case 1: putchar(c+4); break; case 2: putchar(c+4); case 3: putchar(c+3); break; case 4: putchar(c+2); } }
18
编写程序
计数器控制循环: 计数器控制循环: 例3-17 班里有10个学生参加测验 提供考试成绩, 个学生参加测验, 班里有10个学生参加测验,提供考试成绩,求 平均成绩 标记控制循环: 标记控制循环: 例3-18 开发一个计算全班平均成绩的程序, 开发一个计算全班平均成绩的程序,每次运行 时处理任意个成绩
10
ቤተ መጻሕፍቲ ባይዱ
第2题可写成 #include<stdio.h> void main() { int x = 100 , a = 10 , b = 20 , ok1 = 5 , ok2 = 0; if (a < b) if (b != 5) if( !ok1) x = 1; else if (ok2) x = 10; else x = -1; printf(“%d\ printf(“%d\n”, x); }
21
/*功能:从键盘输入一串字符,以换行符结束, /*功能:从键盘输入一串字符,以换行符结束,将每一个字母变 功能 成它后面的字母* 成它后面的字母*/ #include<stdio.h> void main() { char ch; while (( ch = getchar( )) != ‘\n’)/*从键盘获得一个字符给ch,判 )) )/*从键盘获得一个字符给 , 从键盘获得一个字符给ch ch是否为换行符 是否为换行符* 断ch是否为换行符*/ { if ( ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <='Z') if ( ch == 'z') ch = 'a'; else if ( ch == 'Z') ch = 'A'; else ch = ch + 1; printf("%c",ch); } } 22

c语言上机实验题及参考答案

c语言上机实验题及参考答案
4、编写程序,求1-3+5-7+...-99+101的值。(文件名为44.c。备注:程序运行结果为51,关于符号转换的问题可以参考教科书上的例6.6)
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上机实验(经典附答案)

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.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include<stdio.h>void main(){int i,j,k;for(i=1;i<=4;i++)for(j=1;j<=4;j++)for(k=1;k<=4;k++)if(i!=j&&i!=k&&j!=k)printf("%d%d%d ",i,j,k);printf("\n");}2.企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?#include <stdio.h>main(){ long i;float bonus, bon1, bon2, bon4, bon6, bon10;int c;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;printf("请输入利润i:");scanf("%ld",&i);c=i/100000;if(c>10) c=10;switch(c){ case 0: bonus=1*0.1;break;case 1: bonus=bon1+(i-100000)*0.075;break;case 2 :case 3: bonus=bon2+(i-200000)*0.05; break;case 4:case 5: bonus=bon4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015;break;case 10: bonus=bon10+(i-1000000)*0.01;}printf("奖金是%10.2f",bonus);}3.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#include<stdio.h>#include<math.h>void main(){int a,b,c;for(a=0;;a++){ b=sqrt(a+100);c=sqrt(a+268);if(b*b==a+100 && c*c==a+268){printf("%d\n",a);break;}}}4.输入某年某月某日,判断这一天是这一年的第几天?main(){int day,month,year,sum,leap;printf("\nplease input year,month,day\n");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;}sum=sum+day; /*再加上某天的天数*/if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1;elseleap=0;if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;printf("It is the %dth day.",sum);}5.输入三个整数x,y,z,请把这三个数由小到大输出。

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语言培训上机实验题目

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语言上机练习共35篇

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 语言程序上机实训题上机练习三一、程序改错题:功能:将一个正整数分解质因数。

wf_《C语言》上机实验题及参考答案_C语言编程题精选编程实现对键盘输入的..

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语言上机实验试题及答案

大一C语言上机实验试题及答案

/*如果长、宽、高相等,则为立方体*/
printf(“该箱子是立方体。”);
else
printf(“该箱子是长方体。”);
}
2、#include <stdio.h>
void main( )
{ int year,month,days;
printf(“Please enter year and month:\n”);
五、实验调试记录:
六、参考答案: 1、#include <stdio.h> #define PI 3.14 void main( ) { float r1,r2; double s1,s2,s; printf(“Please enter r1,r2:\n”); scanf(“%f%f”,&r1,&r2); s2=r2*r2*PI; s1=r1*r1*PI; s=s2-s1; printf(“s=%lf\n”,s); } 2、#include <stdio.h> void main( ) { float h,c; printf(“请输入华氏温度:”);
scanf(“%d%d%d%d”,&a,&b,&c,&d); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(a>d) { t=a; a=d; d=t; } if(b>c) { t=b; b=c; c=t; } if(b>d) { t=b; b=d; d=t; } if(c>d) { t=c; c=d; d=t; } printf(“排序结果如下:\n”); printf(“%d,%d,%d,%d\n”,a,b,c,d); }

5~6次C语言上机作业

5~6次C语言上机作业

实验5 函数(1)【实验题5-1】以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上。

调试运行程序,观察出现了什么错误,提出两种修改方案。

【实验题5-2】下程序的功能:输出3~1000之的间的素数。

请选择合适的内容填入程序的空白处,并调试运行程序。

【实验题5-3】从键盘输入一个整数n,计算n^3,并将结果输出在屏幕上。

要求计算n^3用函数实现。

【实验题5-4】从键盘输入一个整数n,计算2n+1与++n之和。

要求计算两数之和用函数实现。

注意写计算表达式的时候3*n之间的乘号不要丢掉,否则会提示:invalid suffix “n” on integer constant.调用用户自定义函数是只写ifun=fun(n); 就可以了,不要在括号里加上int。

Ifun=fun(int n) ×【实验题5-5】编写程序,计算Cmn=n!/(n-m)!m!。

要求如下:1)编写一个函数计算n!;2)编写主函数,输入n和m, 调用第1)项中的函数完成计算;3)输出并计算C58、C712的结果。

【实验题6-1】以下程序功能:用已知三角形三边,求三角形面积。

但程序有错,请上机调试并改正错误。

【实验题6-2】以下程序运行的结果应该是a=14, b=15,temp=0。

在程序空白处填写适当的编译预处理命令。

【实验题6-3】用for循环输出20个0~99之间的随机数。

要求没输出五个随机数换一行。

【实验题6-4】从键盘输入一个字母,如果是大写字母就转换成小写字母输出;如果是小写字母就转换成大写字母输出。

要求用库函数实现。

【实验题6-6】调试运行以下程序,掌握内部函数和外部函数的使用。

该程序包括两个源程序文件“6_6_1.C”和“6_6_2.C”。

#include<stdio.h>#define N 9void main(){int itop,ibottom,iresearch,imiddle;int iA[N]={0,1,2,3,4,5,6,7,8};scanf("%d", &iresearch);itop=0;ibottom=N-1;while(itop<=ibottom){imiddle=(itop+ibottom)/2 ;if(iresearch<iA[imiddle])ibottom=imiddle-1;elseif (iresearch>iA[imiddle])itop=imiddle+1;else{printf("\n元素%d在数组中,下标是%d\n, iresearch,imiddle");return;}}printf("\n%d在数组中未找到\n",iresearch);}。

C语言上机实训

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语言常见、经典的上机实验题目

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语言上机试题库及答案

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语言上机实验试题及答案

大一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语⾔正式上机题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语言上机题目范例和答案

c语言上机题目范例和答案c语言上机题目范例和答案.txt看一个人的的心术,要看他的眼神;看一个人的身价,要看他的对手;看一个人的底牌,要看他的朋友。

明天是世上增值最快的一块土地,因它充满了希望。

c语言程序设计题目及答案40021程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0&lt;repeat&lt;10),做repeat次下列运算:输入1 个正整数n,计算s 的前n项的和(保留4 位小数)。

s = 1 + 1/2! +....+ 1/n!例:括号内是说明输入:2 (repeat=2)2 (n=2)10 (n=10)输出:1.50001.7183#include &quot;stdio.h&quot;int main( ){int ri,repeat;int i,n;float s,t;scanf(&quot;%d&quot;,&amp;repeat);for(ri=1;ri&lt;=repeat;ri++){scanf(&quot;%d&quot;,&amp;n);/*---------*/printf(&quot;%0.4f\n&quot;,s);}}40022程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0&lt;repeat&lt;10),做repeat次下列运算:输入2 个正整数m和n(1&lt;=m,n&lt;=1000),输出m 和n之间所有满足各位数字的立方和等于它本身的数。

输出语句:printf(&quot;%d\n&quot;, i);例:括号内是说明输入:2 (repeat=2)100 400 (m=100, n=400)1 100 (m=1, n=100)输出:153 (1*1*1+5*5*5+3*3*3=153)370 (3*3*3+7*7*7=370)371 (3*3*3+7*7*7+1*1*1=371)1#include &quot;stdio.h&quot;int main( ){int ri,repeat;int i, digit, m, n, number, sum;scanf(&quot;%d&quot;,&amp;repeat);for(ri=1;ri&lt;=repeat;ri++){scanf(&quot;%d%d&quot;, &amp;m, &amp;n); /*---------*/}}40023程序填空,不要改变与输入输出有关的语句。

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

C语言实验报告实验1-1:hello world程序:源代码:#include<stdio.h>main(){printf("hello world!\n");system("pause");}实验1-2:完成3个数据的输入、求和并输出计算结果的程序:源代码:#include<stdio.h>main(){int i,j,k,sum;scanf("%d%d%d",&i,&j,&k);sum=i+j+k;printf("sum=%d",sum);system("pause");实验1-3:在屏幕上输出如下图形:ABBBCCCCC源代码:#include<stdio.h>main(){printf(" A\n");printf(" BBB\n");printf(" CCCCC\n");system("pause");}实验2-1:计算由键盘输入的任何两个双精度数据的平均值源代码:#include<stdio.h>main(){double a,b;scanf("%lf%lf",&a,&b);printf("%.1lf\n",(a+b)/2);system("pause");}实验2-2:写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算源代码:#include<stdio.h>main(){float a,b,c,d,e,f,g,x;scanf("%f%f%f%f%f%f%f",&a,&b,&c,&d,&e,&f,&g);x=a + b * (c - d ) / e * f - g;printf("x=%f",x);system("pause");}实验2-3:编写一个C语言程序,测试下列各表达式:i, ji + 1 , j + 1i++ , j++++i , ++ji+++++j源代码:#include<stdio.h>main(){int i=1,j=1;printf("%d %d\n",i+1,j+1);printf("%d %d\n",i++,j++);printf("%d %d\n",++i,++j);printf("%d\n",(i++)+(++j));system("pause");}实验2-4:输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest (税前),输出时保留2位小数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 C语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。

2、了解在该系统上如何编辑、编译、连接和运行一个C程序。

3、通过运行简单的C程序,初步了解C源程序的特点。

4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。

5、学会使用C的有关算术运算符,以及包含这些运算符的表达式二、实验例题【例1】编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for.在Turbo C的集成环境下,键入如下源文件。

敲Alt+F组合键打开File菜单,File菜单中Write to或save as选项可将默认noname.c文件名改为任意文件名。

程序example.c如下:main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}然后用Ctrl+F9执行example.c,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。

按回车键重新返回Turbo C的编辑环境。

注意,在运行程序之前最好先存盘。

【例2】输入并运行程序,写出运行结果。

main(){int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);}运行方法同上,最后结果为:sum is 579。

【例3】输入并运行程序,写出运行结果。

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);}这个程序的功能是对于任意输入的两个整数,输出较大的那个数。

所以程序运行之后,光标将停留在用户屏幕上,等待用户输入两个整数,比如输入“3,5”,回车,在用户屏幕上就会输出“max=5”。

【例4】输入并运行下程序,写出运行结果。

mian(){char c1 , c2;c1=97;c2=98;printf(“%c %c”, c1, c2);}在此基础上1)加一个printf语句,并运行之。

printf(“%d,%d”, c1, c2 );2)再将第二行改为:int c1, c2;再使之运行。

3)再将第三行改为:c1=300; c2=400;再使之运行,分析其运行结果。

在该程序中,说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。

【例5】分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。

main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t%c %c”,c4,c5);}在该程序中,主要考查对转义字符的掌握情况。

【例6】分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。

main(){int i , j , m , n ;i=8; j=10;m=++i; n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}分别作以下改动之后,先分析再运行:1)将第四行改为:m=i++; n= ++j;2)程序改为:main(){int i , j ;i=8; j=10;printf(“%d,%d”, i++, j++);}3)在2)的基础上,将printf语句改为:printf(“%d,%d”, ++ i, ++ j );4)再将printf语句改为:printf(“%d,%d,%d,%d”,i,j,i++,j++);5)程序改为:main(){int i , j , m=0 , n=0 ;i=8; j=10;m+= i ++; n -= --j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}此程序主要考查自加、自减运算符以及复合运算符的用法。

三、上机内容1.用turbo c输入并运行前面6道例题中程序,记下运行结果,熟悉调试C程序的方法与步骤。

2.参照例题,编写一个C程序,输出以下信息:****************************Hello,World!****************************四、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。

实验二顺序结构与选择结构程序设计一、实验目的及要求1.理解C语言程序的顺序结构;2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句;3.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);4.学会正确使用逻辑运算符和逻辑表达式;5.熟练掌握if语句和switch语句。

二、实验内容1、已知圆半径r=1.5,圆柱高h=3, 求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

2、输入一个华氏温度,要求输出摄氏温度。

公式为c=5/9*(f-32)。

3、有3个整数a、b、c,由键盘输入,编程序按从小到大的顺序将它们排序并输出。

4、编程序计算下面的函数:e x-1 0<x<1y= |x|+2 3≤x≤4sin(x2) 当x取其他值时5、输入一个整数m,判断它能否被7、11、17整除,如果能被以上三个数之一整除,则输出它能被整除的信息,否则输出m不能被7、11、17整除的信息。

6、电文加密的算法是:将字母A变成字母G,a变成g,B变成H,b变成h,依此类推,并且U变成A,V变成B,等等。

从键盘输入一个电文字符,输出其相应的密码。

7、企业发放的奖金根据利润提成。

若利润I≤10万元,奖金可提10%;若10万<I≤20万时,则低于等于10万元的部分按10%提成,高于10万元部分,可提成7.5%;若20万<I ≤40万时,低于等于20万元的部分仍按上述办法提成,高于20万元部分按5%提成;按类似的办法,若40万<I≤60万元时,高于40万元部分按3%提成;若60万<I≤100万元时,高于60万元的部分按1.5%提成;若I>100万时,超过100万元部分按1%提成。

从键盘输入当月利润I,求应发奖金总数。

三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。

实验三 循环结构程序设计一、实验目的及要求1.熟练掌握while 、do —while 和for 三种循环语句的应用。

2.掌握基本的编程算法。

二、实验内容1、利用公式sinx=x-x 3/3!+x 5/5!-x 7/7!+x 9/9!-…+(-1)(n-1)·x(2n-1) /(2n-1)!编程计算sinx 的值。

设x=0.5,n=9。

2、编写程序求:3、输入20个有符号整数,统计正整数、零、负整数的个数。

4、输入m 个数,求其最大数、最小数和平均值。

5、在100和1000之间,有多少个其数字之和等于9而且该数可被5整除的整数?6、一位同学问老师和老师夫人的年龄是多少,老师说:“我年龄的平方加上我夫人的年龄恰好等于1053,而我夫人年龄的平方加上我的年龄等于873。

”试计算老师和其夫人的年龄。

7、打印下列图案*************三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。

∑==101n !n s一、实验目的及要求1.掌握一维、二维数组的定义、赋值和输入输出的方法;2.掌握字符数组的使用;3.掌握与数组有关的算法(例如排序算法)。

二、实验内容1、给整型二维数组 b[3][4]输入12个数据,计算并输出数组中所有正数之和、所有负数之和。

2、青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。

分析:这道题的核心是排序。

将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分。

3、设二维数组 b[5][4]中有鞍点,即b[i][j]元素值在第i行中最小,且在第j列中最大,试编写一程序找出所有的鞍点,并输出其下标值。

也可能没有。

4、从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。

如果该数不在数组中,则打印”No found”。

5、编程打印如下图形:** ** ** **6、有一电文,已按下列规律译成译码:A→Z a→zB→Y b→yC→X c→x即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。

非字母字符不变。

编写一个程序将密码译成原文,并输出密码和原文。

三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。

一、目的与要求1、掌握C语言函数的定义方法、函数的声明及函数的调用方法。

2、了解主调函数和被调函数之间的参数传递方式。

二、实验内容1、分别编写求圆面积和圆周长的函数,另编写一主函数调用之, 要求主函数能输入多个圆半径,且显示相应的圆面积和周长。

2、编写一程序,把M×N矩阵a的元素逐列按降序排列。

假设M、N不超过10。

分别编写求一维数组元素值最大和元素值最小的函数,主函数中初始化一个二维数组a[10][10],调用定义的两函数输出每行、每列的最大值和最小值。

3、编写一判别素数的函数,在主函数中输入一个整数,输出该数是否为素数的信息。

4、编写一个将两个字符串连接起来函数(即实现strcat函数的功能),两个字符串由主函数输入, 连接后的字符串也由主函数输出。

5、编写计算最小公倍数的函数,试由主函数输入两个正整数a和b调用之。

计算最小公倍数的公式为:lcm(u,v)=u*v/gcd(u,v) (u,v≥0)其中,gcd(u,v)是u、v的最大公约数。

lcm(u,v)是u、v的最小公倍数。

三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。

一、目的与要求1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;4、能正确使用指向函数的指针变量;5、了解指向指针的指针的概念及其使用方法。

相关文档
最新文档