C语言作业与上机---05

合集下载

C语言VC6.0中文版上机操作指导

C语言VC6.0中文版上机操作指导

C语言上机操作指导程序设计是实践性很强的过程,任何程序最终都必须在计算机上运行,以检验程序的正确与否。

因此在学习程序设计中,一定要重视上机实践环节,通过上机可以加深理解C语言的有关概念,以巩固理论知识,另一方面也可以培养程序调试的能力与技巧。

1.C语言程序的上机步骤按照C语言语法规则而编写的C程序称为源程序。

源程序由字母、数字及其它符号等构成,在计算机内部用相应的ASCII码表示,并保存在扩展名为“.C”的文件中。

源程序是无法直接被计算机运行的,因为计算机的CPU只能执行二进制的机器指令。

这就需要把ASCII 码的源程序先翻译成机器指令,然后计算机的CPU才能运行翻译好的程序。

源程序翻译过程由两个步骤实现:编译与连接。

首先对源程序进行编译处理,即把每一条语句用若干条机器指令来实现,以生成由机器指令组成的目标程序。

但目标程序还不能马上交计算机直接运行,因为在源程序中,输入、输出以及常用函数运算并不是用户自己编写的,而直接调用系统函数库中的库函数。

因此,必须把“库函数”的处理过程连接到经编译生成的目标程序中,生成可执行程序,并经机器指令的地址重定位,便可由计算机运行,最终得到结果。

C语言程序的调试、运行步骤可以用图A-1表示:图A-1C语言程序的调试、运行步骤图A-1中,虚线表示当某一步骤出现错误时的修改路线。

运行时,无论是出现编译错误、连接错误,还是运行结果不对(源程序中有语法错误或逻辑错误),都需要修改源程序,并对它重新编译、连接和运行,直至将程序调试正确为止。

除了较简单的情况,一般的程序很难一次就能做到完全正确。

在上机过程中,根据出错现象找出错误并改正称为程序调试。

我们要在学习程序设计过程中,逐步培养调试程序的能力,它不可能靠几句话讲清楚,要靠自己在上机中不断摸索总结,它可以说是一种经验积累。

程序中的错误大致可分为三类:程序编译时检查出来的语法错误;连接时出现的错误;程序执行过程中的错误。

编译错误通常是编程者违反了C语言的语法规则,如保留字输入错误、大括号不匹配、语句少分号等等。

C语言上机题参考答案

C语言上机题参考答案
}
20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);

西北农林科技大学C语言上机实习5答案

西北农林科技大学C语言上机实习5答案

实习五答案1、用指针实现排序/* exer 5-1 由键盘输入10个整数,将它们按由小到大顺序排列*/ 用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。

输入:键盘输入的10个整数。

输出:按由小到大的顺序排列。

输入样例:1 5 4 3 2 9 23 11 5 7输出样例:1 2 3 4 5 5 7 9 11 23#include<stdio.h>void main(void){int a[10],*p = NULL; /* 说明数组和指针*/int i, j, temp;for(p = a; p < a + 10; p++) /* 指针从数组首到尾*/ {scanf("%d", p); /* 利用指针依次输入*/ }p = a;for(i = 0; i < 9; i++) /* 利用指针依次比较*/{for(j = i + 1; j < 10; j++)if(*(p + i) > *(p + j)){temp = *(p + i);*(p + i) = *(p + j);*(p + j) = temp;}}for(p=a; p < a + 9; p++)printf("%d ", *p);printf("%d\n", *p);}2、用指针实现字符串排序/*exer 5-2 将10个长度小于20的字符串排序*/用指针实现:将10个字符串(设其长度小于20)从小到大排序。

输入:10个字符串。

输出:排序后的10个字符串。

输入样例:ijkjkldefghidefcdehijdefefgfgh输出样例:cdedefdefdefefgfghghihijijkjkl提示:①定义二维字符数组和指向该数组的指针数组;②用循环使指针数组的元素指向二维字符数组各行首;③用循环为指针数组元素赋字符串为值;④用strcmp函数比较两个指针数组元素的值、用strcpy函数交换两个指针数组元素的值。

C语言程序设计_05循环结构程序设计

C语言程序设计_05循环结构程序设计

5.2 DO…WHILE循环结构 5.2.1 DO…WHILE语句的格式 DO…WHILE语句的一般格式为: DO 语句 WHILE(表达式); DO…WHILE语句中的表达式表示循环的条件,可 以是任何表达式,常用的是关系表达式和逻辑表达 式。表达式必须加圆括号。语句是重复执行的部分, 称作循环体。
由亍循环体在表达式2乊后表达式3乊前执行所以把循环体语句放在表达式3的开头循环体语句不原来的i构成逗号表达式作为循环语句新的表达式3从而也就没有循环体语句了
第5章 循环结构程序设计
5.1 WHILE循环结构 5.2 DO…WHILE循环结构 5.3 FOR循环结构 5.4 与循环有关的控制语句 5.5 3种循环语句的比较 5.6 循环的嵌套 5.7 循环结构程序举例 本章小结
图5-6 FOR语句执行过 程
FOR语句的执行过程如图5-6所示。具体由以下几步 完成: (1)求表达式1。 (2)求表达式2,并判定其值为0或非0。若值为非0, 转步骤(3);否则结束FOR语句。 (3)执行语句,然后求表达式3。 (4)转向步骤(2)。 由FOR语句的执行流程可知,表达式1的作用是为循 环控制的有关变量赋初值,表达式2是循环控制条件, 表达式3用于修正有关变量,语句是重复执行部分。
【例5.7】输入20个数,求出其中的最大值与最小值。
5.3.3 FOR语句的各种变形 1.在FOR语句中省略表达式 FOR语句中的3个表达式可以部分或全部省略,下面 给出语句的4种基本变形。 (1)表达式1移至FOR语句前,但它后面的分号必 须保留。这时FOR语句的形式为: 表达式1; FOR(; 表达式2; 表达式3) 语句
(2)表达式3移至循环体语句之后,但它前面的分 号必须保留。FOR语句的形式为: FOR(表达式1; 表达式2;) { 语句; 表达式3; } 对于求P=5!的程序段,省略表达式3,将其放在循环 体中,则程序段写成:

C语言上机操作指导

C语言上机操作指导

C语言上机操作指导在学习C语言过程中,上机操作是非常重要的一部分。

通过上机实践,我们可以巩固所学的理论知识,培养编程思维,提高解决问题的能力。

本文将为大家提供C语言上机操作的指导,帮助大家更好地进行实践。

一、实验环境准备在进行C语言上机操作之前,我们首先需要准备好实验环境。

具体步骤如下:1. 安装编译器:选择一款适合的C语言编译器,如Dev-C++、Code::Blocks等,并按照其官方指南进行安装。

2. 创建项目:打开编译器,创建一个新项目。

根据需要选择控制台应用程序或者窗口应用程序。

3. 配置编译器:在项目设置中,确认编译器配置正确,比如选择合适的C语言标准、设置输出文件路径等。

二、实验内容安排在进行C语言上机操作时,为了有效利用时间,我们需要合理安排实验内容。

以下是一个常见的实验内容安排,供大家参考:1. 熟悉开发环境:掌握编译器的基本使用方法,学会创建、保存、运行项目等操作。

2. 简单程序实现:从简单的程序开始,如输出Hello World、计算两个数的和等。

逐步熟悉C语言的基本语法和编程逻辑。

3. 变量与数据类型:掌握变量的定义和使用方法,了解各种基本数据类型的特点及其使用场景。

4. 条件语句和循环结构:学习if-else语句、switch语句、while循环、for循环等,掌握条件判断和循环控制的基本方法。

5. 数组和字符串:了解数组和字符串的概念,学习如何声明、初始化和访问数组,以及常见的字符串操作方法。

6. 函数和指针:了解函数的定义和调用,学习如何传递参数和返回值。

同时,也要熟悉指针的概念和使用方法。

7. 文件操作:学习如何打开、读写和关闭文件,实现文件的基本输入输出。

8. 综合实例:通过一些综合实例,将之前所学的知识进行综合运用,提升实际编程能力。

三、实验操作步骤在进行C语言上机操作时,我们需要按照一定的步骤进行操作。

以下是一个常见的实验操作步骤,供大家参考:1. 阅读实验要求:在开始实验之前,仔细阅读实验要求和题目描述,明确任务目标和具体要求。

C语言上机实验

C语言上机实验

实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。

2.熟悉编译环境。

3.初步熟悉C语言程序的语法规定。

4.了解简单函数的使用方法。

实验内容:1.编程且上机运行:求3个整数的和。

2.编程且上机运行:求2个数的和、差、积和商。

3.编程且上机运行:输入3个数,求最大值。

4.编程且上机运行:输入圆的半径,求圆的面积和周长。

5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。

实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。

实验过程:实验结果:参见各种类型的存储实现描述。

2.实验目的:了解混合类型计算中类型的转换规则。

实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。

注意unsigned int和int数据运算时类型转换的方向。

实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。

C语言上机作业试题5套含答案

第一次上机作业(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说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

《C语言》上机实验题及参考答案

《C语言》上机实验题及参考答案作者名:不详来源:网友提供05年7月21日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语言上机作业提交的有关说明

C语言上机作业提交的有关说明
1.作业文件的命名规定:
作业文件的文件名为序号-题号。

说明:1)序号见FTP上本班学生的座位安排;
2)如果本次上机只有一个编程题,则题号可以省略。

例子:序号为30的同学举例说明如下:(文件的扩展名为.CPP或.C)
●如果本次上机只有一个编程题,则上交的作业文件名为:30.CPP或30.C
●如果本次上机只有二个编程题,则上交的作业文件名为:30-1.CPP或30-2.C,
以此类推
2.作业上交地点:
上交作业的文件夹与自己的班号(C05班或C17班)和“第几次作业”有关,根据作业次数提交到不同地点:
●第一次作业,上交到ftp://192.168.9.211/2014春学生作业/班号/01/中,
第二次作业,上交到ftp://192.168.9.211/2014春学生作业/班号/02/,以此类推
3.作业上交方法:
打开FTP上指定存放作业的文件夹,再将作业文件(源程序)拖入其中(作业文件必须在关闭状态下才能拖入)。

C语言作业及参考答案

C语言及实验作业参考做法分支程序设计1.从键盘上输入10个整数,计算这些整数的和2.水仙花数。

一个3位数,若其各位数字之和等于它本身,这个数就称为水仙花数.输出所有的水仙花数。

(如153)#include<>int main()...前20项之和。

#include<>int main(){float sum,fenzi,fenmu,a;int i;fenzi=2;fenmu=1;sum=0;for(i=1; i<=20; i++){sum+=fenzi/fenmu;a=fenmu;fenmu=fenzi;fenzi+=a;}printf("%.3f",sum);return 0;}4.迭代法求平方根。

利用公式x(n+1)=1/2*(x(n)+a/x(n)) 计算a的平方根.要求|x(n+1)-x(n)|<1e-5#include <>#include <>main(){float x0,x1,a;printf("input a="); scanf("%f",&a);x1=a/2;do{ x0=x1;x1=(x0+a/x0)/2;}while(fabs(x1-x0)>1e-5);printf("the sqrt of %f is %f\n",a,x1);}5.百钱买百鸡:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何6.某人摘下一些桃子,第一天卖掉一半,又吃了一个,第二天卖掉剩下的一半,又吃了一个,以后每天都是如此处理,到第n天发现只剩下一只桃子。

输入n,输出一共摘了多少桃子。

7.一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。

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

作业与上机
1.以下程序完成的功能是输入10个数到数组a中,然后输入一个数x,求出距离x最近的数a[k]。

#include <stdio.h>
#include <math.h>
#define N 10
main()
{int a[N];
int i,k,x;
printf("input array:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("input a number: ");
scanf("%d",&x);
k=0;
for(i=0;i<N;i++)
if(fabs(x-a[i])<fabs(x-a[k]))
k=i;
printf("%d %d\n",x,a[k]);
}
模仿上述程序,编写程序求出距离x最远的数a[k]。

2. 编写程序,从键盘输入10个整数存储到数组中,分别求出这10个数种的最大数、最小数、平均数(平均数为实数)。

3. 编写程序,从键盘输入10个整数存储到数组中,运用冒泡排序法将10个数按升序排序并输出。

4. 编写程序,从键盘输入10个整数存储到数组中,运用选择排序法将10个数按降序排序并输出。

5. 编写程序,从键盘输入10个整数存储到数组中(按从小到大顺序输入,保证数组按升序排列),然后输入一个整数,运用二分查找方法查找该数据在数组中是否存在,如果存在则输出“YES”,否则输出”NO”。

6. 编写程序,从键盘输入18个整数到数组a中,输入10个整数到数组b中,计算并输出a 和b两个数组中相同数据的个数。

相关文档
最新文档