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

合集下载

C语言程序设计 上机实验指导与习题 参考答案(第四版)

C语言程序设计 上机实验指导与习题 参考答案(第四版)

C 语言程序设计上机实验指导与习题参考答案(第四版)(学生改编)实验 1:C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。

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

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

(4)在教师的指导下,学会使用在线评判系统。

二、实验内容1.运行第一个 C 程序题目:ThefirstCProgram将下列程序输入visualc ,编译、连接和运行该程序。

includequotstdio.hquotmain printfquotThefirstCProgramnquot具体操作步骤(1)在编辑窗口中输入程序。

(2)保存程序,取名为a1.c。

(3)按照第一章中介绍的方法,编译、连接和运行程序。

,则该题完成。

4按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”2.在在线评判系统中提交实现了计算 ab 功能的程序题目 1001:计算ab由键盘输入两个整数,计算并输出两个整数的和。

实现该功能的程序如下,inclu dequotstdio.hquotmain int ab scanfquotddquotampaampbprintfquotdquotab(1)在程序编辑窗口中输入程序。

(2)保存程序,取名为a2.c。

(3)按照前二章中介绍的方法,编译、连接和运行程序。

(4)在程序运行过程中,输入 15 30↙↙表示输入回车符(5)如果看到如下输出结果,则表明1530 的结果正确,如果得不到如下结果,则需检查并更正程序。

45(6)按照第三章中介绍的方法进入在线评判系统。

(7)显示题目列表,点击题号为 1001,题名为“计算ab”的题目。

(8)查看完题目要求后,点击页面下端的“sumbit” ,参照第二章提交程序的方法提交程序a2.c。

(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。

大一学生c 上机报告

大一学生c 上机报告

大一学生c 上机报告引言本次上机实验是大一学生学习C语言的第一次上机实践,通过编写C 语言程序加深对C语言的理解和掌握。

本报告将详细记录我们小组在上机实验过程中的思路、问题和解决方案,以及最终的实验结果和心得体会。

实验内容本次实验的任务是编写一个C语言程序,实现一个简单的计算器功能。

具体要求如下:1. 实现基本的加、减、乘、除四则运算功能;2. 用户可连续进行多次运算,直到选择退出;3. 对于除法运算,要做除数为零的异常处理,避免程序崩溃;4. 存在整数和小数两种运算模式,需要进行相应的数据类型处理。

思路和问题在开始编写程序之前,我们小组进行了详细的讨论和思考,确定了以下的编程思路:1. 首先,需要进行程序的初始化,包括初始化变量和数据类型;2. 然后,需要设计菜单,让用户选择要进行的运算;3. 根据用户选择的运算类型,进行相应的运算,并输出结果;4. 在除法运算时,需要进行除数为零的异常处理,避免程序崩溃;5. 用户可以选择继续进行其他运算,也可以选择退出程序。

在实际编程过程中,我们遇到了一些问题,主要包括以下几点:1. 如何实现用户输入的读取和判断,以及对输入的数据进行数据类型处理;2. 如何实现菜单的设计和选择功能;3. 如何进行除数为零的异常处理。

解决方案针对上述问题,我们小组进行了如下解决方案:1. 使用`scanf`函数对用户的输入进行读取,并使用`if`语句判断用户选择的运算类型;2. 使用`switch`语句实现菜单的选择功能,根据用户选择进行相应的运算;3. 在进行除法运算时,使用`if`语句判断除数是否为零,若为零则输出错误信息,并返回菜单。

实验结果经过我们小组的共同努力,最终我们成功完成了实验,并得到了预期的实验结果。

我们的程序能够正确地进行加、减、乘、除四则运算,并且在除法运算时能够处理除数为零的异常情况。

用户能够根据菜单选择进行多次运算,也可以选择退出程序。

心得体会通过本次上机实验,我们小组对C语言的编程能力有了显著的提升。

C程序设计上机实验报告(完整版)

C程序设计上机实验报告(完整版)

C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:**学号:***********实验时间:2017年3月6号任课老师:张锐C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。

(2). 设计程序,对给定的两个数求和。

(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。

四、源程序代码:代码1:运行结果1:程序分析1:该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。

代码2:运行结果2:程序分析2:简单的使用printf()和scanf()函数进行简单的数据运算。

代码3:运行结果3:程序分析3:使用if语句进行判断。

五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。

三、实验内容:(1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。

(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。

(4). 编写程序,实现单字符getchar和putchar输入输出。

(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。

四、源程序代码代码1:运行结果1:程序分析1:所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。

代码2:运行结果2:程序分析2:简单的数据运算和格式字符的输出。

大一C语言上机实验实验报告

大一C语言上机实验实验报告

大一C语言上机实验实验报告
本次实验的主要内容是学习使用C语言编程实现简单的数据结构算法。

首先,我们学
习了C语言的基础知识,比如变量定义、函数、控制语句等,然后学习了链表、栈、队列
等数据结构的知识,了解了它们在实际应用中的用法。

紧接着,我们利用所学知识实现了数据结构与算法中的一些经典题目,像是递归求阶乘,折半查找,冒泡排序和合并排序等。

我们先是用自己熟悉的编程语言来实现俩种算法
的比较,然后才运用C语言来实现它们。

在实现的过程中,一方面要熟悉C语言语法,另
一方面又要理解并发挥现有算法所蕴含的思想,这样才能够把算法翻译成准确有效的代码。

随着编程经验的积累,我们加深了对C语言的掌握,最后收获良多。

在本次实验的过
程中,我们学会了在C语言环境下开发程序,学会了使用它来创造数据结构和算法;并且
掌握了如何用它编写、测试和调试程序的技巧,以便更好地编程。

整个实验过程也帮助我
们加深理解了数据结构以及它们在解决实际问题中的意义。

C语言实验报告题及答案

C语言实验报告题及答案

《C程序设计实验》实验一C程序开发环境(2学时)1.实验目的熟悉C语言的集成开发环境,了解菜单的使用方法;掌握C语言程序上机的编辑、编译、连接、运行的基本步骤;了解C语言程序的结构。

2.实验内容(1)熟悉C语言程序上机的编辑、编译、连接、运行的基本步骤;(2)输入并调试、运行下面的程序。

#include <stdio.h>int main( ){printf ("This is a C program.\n");return 0;}(3)输入并调试、运行下面的程序。

#include <stdio.h>int main( ){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c = max(a,b);printf("max=%d\n",c);return 0;}int max(int x,int y){int z;if (x > y) z = x;else z = y;return(z);}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论将printf函数改为print,调试并分析结果。

实验二数据类型、运算符与表达式(2学时)1.实验目的掌握整型、字符型和实型变量的定义和使用;掌握算术运算符的使用;掌握C语言表达式的运算规则。

2.实验内容(1)输入并调试、运行下面的程序。

#include <stdio.h>int main(){char c1,c2;c1=97;c2=98;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);return 0;}(2)输入并调试、运行下面的程序。

#include <stdio.h>int main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);return 0;}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

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

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

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)大学大一C语言程序设计实验室上机题全部代码答案(实验报告)实验目的:本实验旨在让大一学生通过实际操作掌握C语言的基本语法和常见程序设计题型,提高编程能力。

实验要求:1. 学生需要在实验室中完成上机题,并编写相应的代码。

2. 要求代码具有良好的结构和规范,能够正确运行,并符合题目要求。

3. 学生需要记录代码的思路和过程,并在实验报告中进行详细说明。

实验过程:本次实验共包括以下几个上机题,分别是:1. 题目:输入两个整数,计算它们的和。

实现思路:- 首先,定义两个整型变量a和b,用来保存输入的两个整数。

- 然后,使用scanf函数分别读取两个整数的值。

- 接下来,定义一个整型变量sum,用来保存两个整数的和。

- 使用sum = a + b计算两个整数的和。

- 最后,使用printf函数将结果输出到屏幕上。

2. 题目:输入一个整数n,计算1到n之间所有整数的和。

实现思路:- 首先,定义一个整型变量n,用来保存输入的整数。

- 然后,使用scanf函数读取整数n的值。

- 接下来,定义一个整型变量sum,用来保存1到n之间所有整数的和。

- 使用for循环语句,从1循环到n,累加每个整数的值。

- 最后,使用printf函数将结果输出到屏幕上。

3. 题目:输入一个整数n,判断它是否是质数。

实现思路:- 首先,定义一个整型变量n,用来保存输入的整数。

- 然后,使用scanf函数读取整数n的值。

- 接下来,定义一个布尔型变量isPrime,用来保存n是否是质数的判断结果。

- 使用for循环语句,从2循环到n-1,判断n是否能被其中任意一个整数整除。

- 如果n能被任意一个整数整除,则将isPrime设为假;否则,将isPrime设为真。

- 最后,根据isPrime的值,使用printf函数输出相应的判断结果。

4. 题目:输入一个正整数n,输出n的所有因子。

实现思路:- 首先,定义一个整型变量n,用来保存输入的正整数。

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语言程序开发》实验报告和参考答案

《C语言程序开发》实验报告和参考答案1实实验报告课程名称:C语言程序开发学生姓名:学生学号:专业班级:指导教师:实验日期:2目录实验一循环结构程序设计(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。

实验二数组及其应用(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验三函数及其应用(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

问第4个学生岁数,他说比第3个学生大2岁。

问第3个学生,又说比第2个学生大2岁。

问第2个学生,说比第1个学生大2岁。

最后问第1个学生,他说是10岁。

请问第5个学生多大。

(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。

实验四指针及其应用(一)将若干字符串按字母顺序(由小到大)输出。

(二)有a个学生,每个学生有b门课程的成绩。

要求在用户输入学生序号以后,能输出该学生的全部成绩。

用指针函数来实现。

3实验一循环结构程序设计实验题目:(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。

实验目的1.掌握循环语句的执行过程及用法2.初步掌握循环程序设计的基本技巧3.掌握用while语句,do-while语句和for语句实现循环的方法4.掌握多重循环的使用(一)实验步骤1.题目分析2.源程序代码3.运行结果(二)实验步骤:1.题目分析源程序代码3.运行结果4实验二数组及其应用实验题目:(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验目的1.掌握一维数组的定义及其元素的引用方法2.掌握利用一维数组实现一些常用算法的基本技巧3.掌握二维数组的定义及其应用4.掌握字符数组和字符串函数的使用5.掌握有关二维数组的基本编程技巧(一)实验步骤:1.题目分析2.源程序代码:3.运行结果(二)实验步骤:1.题目分析2.源程序代码3.运行结果5实验三函数及其应用实验题目:(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

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

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;牰湩晴尨?春??※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位小数。

year- moneyinterest = money(1+rate)源代码:#include<stdio.h>#include<math.h>main(){int year=2;float rate=0.1,money=1000;float futureMoney;futureMoney=money*pow((1+rate),year);printf(_x0010_.2f,futureMoney);system(pause);}实验2-5:输入华氏温度,输出对应的摄氏温度。

计算公式如下:c = 5 * ( f - 32) / 9其中,c表示摄氏温度,f表示华氏温度源代码:#include<stdio.h>main(){int c,f;scanf(%d,&f);c = 5 * ( f - 32) / 9;printf(%d,c);system(pause);}实验3-1:编写一个程序完成输入一个整数,输出它的符号源代码:#include<stdio.h>main(){int i;scanf(%d,&i);if(i>0)printf(+);elseprintf(-);system(pause);}:3-2实验请编写居民应交水费,并提供各种测试数据。

x(吨)的函数关系式如下:居民应交水费y(元)与月用水量0 x < 0y = f(x) = 4x / 3 0 ≤ x ≤ 152.5x –10.5 x > 15源代码:#include<stdio.h>main(){float x,y;scanf(%f,&x);if(x<0)printf(else if(x>=0&&x<=15){y=4*x/3;printf(%f,y);}else if(x>15){y=2.5*x-10.5;printf(%f,y);}system(pause);}实验3-3:请根据输入的学生成绩给出成绩等级的判断,判断规则如下:如果输入的成绩大于等于90,则输出优秀;如果输入的成绩小于90、大于等于80,则输出良好;如果输入的成绩小于80、大于等于70,则输出中等;如果输入的成绩小于70、大于等于60,则输出及格;其他输出不及格源代码:#include<stdio.h>main(){int x;scanf(%d,&x);if (x>=90)牰湩晴尨优秀\n);else if (x>=80&&x<90)\n);良好牰湩晴尨else if (x>=70&&x<80)牰湩晴尨中等\n);else if (x>=60&&x<70)牰湩晴尨及格\n);else牰湩晴尨不及格\n);system(pause);}实验3-4:运输公司对用户计算运费。

路程(s)越远,每公里运费越低。

标准如下:s = 250km 没有折扣250km ≤s < 500km 2%折扣500km ≤s < 1000km 5%折扣1000km ≤s < 2000km 8%折扣2000km ≤s < 3000km 10%折扣3000km ≤s 15%折扣设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为:f = p * w * s * ( 1 –d )请编程实现:从键盘输入基本运费p,货物重w,距离s,计算输出用户最终需要支付的运费源代码:#include<stdio.h>main(){int p,w,s,f;scanf(%d%d%d,&p,&w,&s);float d;f = p * w * s * ( 1 - d );if (s=250){d==0;printf(%d,f);}else if (s>=250&&s<500){d==0.02;printf(%d,f);}else if (s>=500&&s<1000){d==0.05;printf(%d,f);}else if (s>=1000&&s<2000){d==0.08;printf(%d,f);}else if (s>=2000&&s<3000){d==0.1;printf(%d,f);}else if (s>=3000){d==0.15;printf(%d,f);}system(pause);}实验4-1:已知xyz + yzz = 532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字源代码:#include<stdio.h>main(){int x,y,z;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=1;z<=9;z++)if(100*x+10*y+z+100*y+10*z+z==532)printf(%d %d %d,x,y,z);system(pause);}实验4-2:编写一个程序打印如下对称图形(行数由键盘输入1~9范围的值),例如下面是输入的数字4时的情形:4444444333332221222333334444444源代码:#include<stdio.h>main(){int i,j,k,n;牰湩晴尨请输入一个数字\n);scanf(%d,&n);i=n;for(i=0;i<2*n-1;i++){k=i;if(i>=n)k=2*n-2-i;for(j=0;j<k;j++)printf( );for(j=0;j<2*(n-k)-1;j++)printf(%d,n-k);printf(\);}system(pause);}实验4-3:学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数源代码:#include<stdio.h>main(){int i;for(i=900;i<=1100;i++){if(i%5==2&&i%7==3&&i%3==1){printf(%d\n,i);break;}}system(pause);}实验4-4:学校某班A、B、C、D四位同学中的一位做了好事不留名,表扬信来了之后,班主任问这四位是谁做了好事,四位回答如下:A说:不是我。

B说:是C。

C说:是D。

D说:他胡说。

已知三个人说的是真话,一个人说的是假话。

请根据这些信息,找出做了好事的人源代码:#include<stdio.h>main(){int i,j,a,b,c,d;for(i=0;i<=4;i++){for(j=0;j<=4;j++)if(j==i)switch(j){case 0:a=1;b=0;c=0;d=0;break;case 1:a=0;b=1;c=0;d=0;break;case 2:a=0;b=0;c=1;d=0;break;case 3:a=0;b=0;c=0;d=1;break;default:break;}if(a+b+c==1&&b+c==1&&c+d==1&&b+c+d==1)牰湩晴尨做好事的人是%c\n,i+'a');}system(pause);}实验5-1:从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。

比如原来数组为:2 -5-89 75 0 -89 0 93 48 0,经过处理后的数组为:-5 -89 -89 0 0 0 75 93 48 2。

由于不要求数组有序,所以不允许用排序方法源代码:#include<stdio.h>#include<stdlib.h>#define N 10main(){int a[N]={2,-5,-89,75,0,-89,0,93,48,0};int i,t,j;for(i=0;i<N;i++)printf(M,a[i]);printf(\);for(i=0;i<N;i++){for(j=i+1;j<N;j++){if(a[i]>0&&a[j]<0){t=a[i];a[i]=a[j];a[j]=t;}else if(a[i]>0&&a[j]==0){t=a[i];a[i]=a[j];a[j]=t;}else if(a[i]==0&&a[j]<0){t=a[i];a[i]=a[j];a[j]=t;}}}for(i=0;i<N;i++)printf(M,a[i]);printf(\);system(pause);}实验5-2:设数组a的定义如下:int a[20] = {2,4,6,8,10,12,14,16}; 已存入数组中的数据值已经按由小到大的顺序存放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。

相关文档
最新文档