C语言实验题目(下)

合集下载

C语言程序设计实验3

C语言程序设计实验3

一、实验目的1. 掌握简单的程序设计,能正确写出顺序结构的源程序。

2. 掌握数据的输入输出方法,能正确使用各种格式转换符。

二、实验内容(程序清单及运行结果)(一)阅读程序1.先读下列程序,写出程序运算结果,再将该程序输入并运行,观察运行结果与你所写的结果是否相同。

①int main(){ int x,y,z;x=y=2;z=3;y=x++-1; printf("%d\t%d\t",x,y);y=++x-1; printf("%d\t%d\t",x,y);y=z--+1; printf("%d\t%d\t",z,y);y=--z+1; printf("%d\t%d\n",z,y);return 0;}②int main(){ char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("\tb%c%c",c4,c5);return 0;}2.以下各程序需要输入数据,请写出输入数据的格式和变量的值并上机验证。

①#include <stdio.h>int main(){ int a,b,c;printf("input a,b,c\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d",a,b,c);return 0;}②main(){ int i, j;printf("i, j=?\n");scanf("%d, %d", &i, &j);}③scanf(“%d,%*d,%d”,&a,&b);若输入:3,4,5a=? b=?④scanf(“%3d%2d”,&a,&b);若输入:12345a=?b=?⑤按格式要求输入/输出数据#include "stdio.h"int main(){ int a,b;float x,y;char c1,c2;scanf(“a=%d,b=%d”,&a,&b);scanf(“%f, %e”,&x,&y);getchar();scanf(“%c %c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);return 0;}运行该程序,必须按如下方式在键盘上输入数据a=3,b=7 ↙8.5,71.82 ↙a A ↙请同学们写出输出结果(二)完成程序要求:按照给定题目要求,参照出现的语句,填写程序空白处。

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语言3:函数的运用

C语言3:函数的运用

C语言实验——三个整数和、积与平均值Time Limit: 1000MS Memory limit: 65536K题目描述给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。

输入输入只有三个正整数a、b、c。

输出输出一行,包括三个的和、乘积、平均数。

数据之间用一个空格隔开,其中平均数保留小数后面两位。

示例输入1 2 3示例输出6 6 2.00#include<stdio.h>#include<math.h>void main(){int a,b,c,sum,product;float ave;while(scanf("%d%d%d",&a,&b,&c)!=EOF){sum=a+b+c;product=a*b*c;ave=sum/3;printf("%d %d %0.2f",sum,product,ave);}}汉诺塔Time Limit: 1000MS Memory limit: 65536K题目描述汉诺塔(又称河内塔)问题是印度的一个古老的传说。

开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。

僧侣们搬得汗流满面,可惜当n很大时这辈子恐怕就很搬完了。

聪明的你还有计算机帮你完成,你能写一个程序帮助僧侣们完成这辈子的夙愿吗?输入输入金片的个数n。

这里的n<=10。

输出输出搬动金片的全过程。

格式见样例。

示例输入2示例输出Move disk 1 from A to BMove disk 2 from A to CMove disk 1 from B to C字符逆序Time Limit: 1000MS Memory limit: 65536K题目描述将一个字符串str的内容颠倒过来,并输出。

C语言实验题目()

C语言实验题目()

求两个数之和。

在两种情况下完成:①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。

②数据通过scanf( )函数输入。

静态输入:#include <stdio.h>void main(){int a=1,b=2,s;s=a+b;printf("这两个数的和是%d\n",s);}动态输入:#include <stdio.h>void main(){int a,b,s;printf("请您输入两个数:");scanf("%d,%d",&a,&b);s=a+b;printf("这两个数的和是%d\n",s);}设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。

要求用scanf 输入数据,输出计算结果。

#include <stdio.h>void main(){float r,h,l,s,sq,vz;float pi=3.1415926;printf("请输入圆的半径r,圆柱高h:");scanf("%f,%f",&r,&h);l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vz=pi*r*r*h;printf("圆的周长为l=%6.2f\n",l);printf("圆的面积为s=%6.2f\n",s);printf("圆柱的表面积为sq=%6.2f\n",sq);printf("圆柱的体积为vz=%6.2f\n",vz);}输入a、b、c三个整数,求出其中最大者,并连同三个源数据一起输出。

#include <stdio.h>int max(int x,int y,int z){int max;if(x>y){if(x>z)max=x;elsemax=z;}else{if(y>z)max=y;elsemax=z;}return(max);}void main(){int max(int x,int y,int z);int a,b,c,w;printf("请您输入三个整数:");scanf("%d,%d,%d",&a,&b,&c);printf("您输入的三个数是:%d,%d,%d\n",a,b,c);w=max(a,b,c);printf("这三个数中最大的是:%d\n",w);}给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。

华南农业大学C语言程序设计实验指导书参考答案

华南农业大学C语言程序设计实验指导书参考答案

华南农业大学c语言程序设计上机指导书参考答案上级实验参考答案#include stdio.h#includemath.hint main(){ int i;double a, b;for(i=0;i<=100000;++i){a=sqrt(i+100);b=sqrt(i+168);if((int)a==ceil(a)&&(int)b==ceil(b))printf(%d\n,i);}}实验2基本数据类型、运算和表达式一、实验目的1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。

2)掌握不同的类型数据之间赋值的规。

3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加++)和自减--)运算符的使用。

4)进一步熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容1 / 561.变量的定义[题目1117:变量定义,按要求完成程序]下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。

void main(){int a, b;/*定义整型变量a和b*/int i, j;/*定义实型变量i和j */a=5;b=6;i=3.14;j=i*a*b;printf(a=%d,b=%d,i=%f,j=%f\n, a, b, i,j);}[具体操作步骤]1)将代码补充完整;2)在TC或VC++上运行通过;3)在JudgeOnline实验系统上提交;2.赋值表达式与赋值语句[题目1118:赋值表达式与赋值语句,写出程序运行结果]阅读下面程序,写出运行结果:voidmain()2 / 56{float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;e='\\';printf(%f,%d,%d,%c,%c, a,b,c,d,e);}运行结果为:3.500000,3,330,J,\[提示]赋值语句具有类型转换的功能,但可能会改变数据。

C语言贪吃蛇实验报告

C语言贪吃蛇实验报告

C语言程序设计报告题目:贪吃蛇游戏的程序设计院系:西语学院英语教育6班姓名:学号:1.1题目:设计贪吃蛇小游戏1.2题目的要求:玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁游戏结束。

1.3设计的步骤:分析设计题目的要求,即需求分析。

总体设计,确定所需模块及模块间调用关系,定义系统中使用的数据类型。

详细设计,确定每个模块的功能,绘制主要函数的流程图。

编写程序代码,调试程序使其能正确运行。

要求书写规范,注意采用缩进格式。

函数名、变量名要见文晓意,注释要简而不失、详而不缀。

设计完成的软件要便于操作和使用。

程序测试,发现程序中存在的错误并改正。

完成报告。

2详细设计说明2.1课程设计的要求:通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。

收集资料,分析课题,分解问题,形成总体设计思路;对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍;上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行;完成课程设计报告。

2.2程序的功能:贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。

2.3课程设计的思想:程序关键在于表示蛇的图形及蛇的移动。

用一个小圆点来表示蛇的一节身体,身体每长一节,增加一个圆点,蛇头用四节来表示。

移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,如果按与蛇运动方向相反的方向键,此游戏就会暂停,再按想前的方向键才能继续游戏,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。

c语言程序设计案例教程 实验项目-设计性题目参考答案

c语言程序设计案例教程 实验项目-设计性题目参考答案

C语言程序设计案例教程(含实验)设计性实验的程序参考答案实验项目一 C程序的编辑、编译、连接和运行题目:编写程序,要求屏幕上显示如下信息:************************ This is a C program .************************程序:#include <stdio.h>void main(){printf(“***********************”);printf(“* This is a C program .*”);printf(“***********************”);}实验项目二数据类型、运算符、表达式题目(1)程序填空:输入1 个实数x,计算并输出其平方根(保留1 位小数)。

填空1.double x,root;2.root=sqrt(x);(2)输入一个大写英文字母,输出相应的小写字母。

填空1.ch=ch+32;实验项目三顺序结构程序设计题目(1)编写程序,输入三角形的三边长a、b、c,求三角形面积area。

程序代码:#include <stdio.h>#include <mach.h>main(){float a,b,c,s,arer;printf(" 请输入三角形的三个边a,b,c:\n");scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形的边为a=%7.2f, b=57.2f, c=%7.2f\n",a,b,c);printf("三角形的面积area=%7.2\n ",area);(2)设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

c语言程序设计考试题目及答案

c语言程序设计考试题目及答案

c语言程序设计考试题目及答案C语言程序设计考试题目及答案1. 选择题- 1.1 下列哪个选项不是C语言中的关键字?- A. int- B. float- C. return- D. void- 答案:B- 1.2 以下哪个函数不能正确计算两个整数的和?- A. `int sum(int a, int b) { return a + b; }`- B. `int sum(int a, int b) { return a - b; }`- C. `int sum(int a, int b) { return a * b; }`- D. `int sum(int a, int b) { return a / b; }`- 答案:C2. 填空题- 2.1 在C语言中,用于定义一个整型变量的关键字是______。

- 答案:int- 2.2 定义一个名为`calculate`的函数,该函数接收两个整型参数,返回它们的乘积。

- 答案:```cint calculate(int x, int y) {return x * y;```3. 编程题- 3.1 编写一个C语言程序,实现计算并输出100以内所有偶数的和。

- 答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```- 3.2 编写一个函数`swap`,交换两个整数变量的值。

- 答案:```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}4. 简答题- 4.1 解释C语言中指针的概念。

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

定义两个字符数组s1、s2,并用赋初值的方法把两个字符串"Computer"和"Language” 分别存放到s1、s2中,要求不用库函数strcat( ),把s2连接到s1的尾部,然后以%s格式输出连接后的字符串s1。 #include void main() { char s1[80],s2[40]; int i=0,j=0; printf("input string1:"); scanf("%s",&s1); printf("input string2:"); scanf("%s",&s2); while(s1[i]!='\0') i++; s1[i]=' '; i++; while(s2[j]!='\0') s1[i++]=s2[j++]; s1[i] = '\0'; printf("The new string is:%s\n",s1); }

用赋初值的方法把字符串"C is a general purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system."存放到字符数组s中,编程统计其中的大写字母、小写字母、数字、空格、逗号的个数。 #include void main() { char s[512] = "C is a general purpose, procedural, imperative " "computer programming language developed in 1972 by Dennis" "Ritchie at the Bell Telephone Laboratories for use with " "the Unix operating system."; int upper=0,lower=0,digit=0,space=0,comma=0; int i=0; while (s[i]) { if(s[i]>='A'&&s[i]<='Z')upper++; if(s[i]>='a'&&s[i]<='z')lower++; if(s[i]>='0'&&s[i]<='9')digit++; if(s[i]==' ')space++; if(s[i]==',')comma++; i++; } printf("这串字符串有大写字母%d个,小写字母%d个,数字%d个,空格%d个,逗号%d个\n",upper,lower,digit,space,comma); }

试从主函数输入10个数据到数组中,编写对偶数项求和的子函数,它将计算结果返回给主函数,由主函数输出。 #include int oqh(int a[], int x) { int i,s; s=0; for(i=1;is=s+a[i]; return(s); } void main() { int a[10]; int i,s; printf("请您在数组内输入10个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); s=oqh(a,10); printf("这个数组的偶数项的和是:%d\n",s); } 注意:oqh并无其他含义,是本人定义的一个函数名,偶数项求和的缩写。

编写一个判断素数的程序,其中主函数用于完成输入一个整数并给出判断结果,单独编写一个函数用于判断其参数是否为素数,其返回值为1表示为素数,为0表示为非素数。 #include #include int prime(int n) { int m,i=2,t; t=(int)sqrt(n); for(;i<=t;i++) { if(n%i==0) { m=0; break; } if(i>t) m=1; else continue; } return(m); } void main() { int n; int i; printf("请输入你要判断的数:\n"); scanf("%d",&n); while(n<=1) { printf("您输入了一个错误的数据,请重新输入:\n"); scanf("%d",&n); } if(prime(n)) printf("您输入的是一个素数\n"); else printf("您输入的不是一个素数\n");

} 输入三个整数,按由小到大的顺序输出。(要求使用指针来排序输出) #include void sort(int *a,int *b,int *c) { int t=0; if(*a>*b) { t=*a; *a=*b; *b=t; } if(*a>*c) { t=*a; *a=*c; *c=t; } if(*b>*c) { t=*b; *b=*c; *c=t; } } void main() { int a,b,c; printf("请您输入三个整数:"); scanf("%d %d %d",&a,&b,&c); sort(&a,&b,&c); printf("它们由小到大的排列顺序是:%d %d %d\n",a,b,c); }

或者是 #include void main() { void swap(int *p1,int *p2); int a,b,c; int *p1,*p2,*p3; printf("请您输入三个整数:"); scanf("%d %d %d",&a,&b,&c); p1=&a; p2=&b; p3=&c; if(a>b)swap(p1,p2); if(a>c)swap(p1,p3); if(b>c)swap(p2,p3); printf("它们由小到大的排列顺序是:%d %d %d\n",a,b,c); } void swap(int *p1,int *p2) { int p; p=*p1; *p1=*p2; *p2=p; }

输入十个整数,放在数组list中,然后用指针法从后向前输出该数组中的整数。 #include void main() { int list[10],i,*p=list; printf("请您输入10个整数:\n"); for(i=0;i<10;i++) scanf("%d",&list[i]); printf("这10个整数的逆序序列是:\n"); for(i=9; i>=0;i--) printf("%-4d",*(p+i)); }

如果输入的数字个数不定的情况,下面的代码可行 #include void main() { void sort(char *p,int m); int i,n; char *p,list[30]; printf("请您输入n的值:"); scanf("%d",&n); printf("请您输入%d个整数:\n",n); for(i=0;iscanf("%d",&list[i]); p=&list[0]; sort(p,n); printf("这%d个整数的逆序序列是:\n",n); for(i=0;iprintf("%-4d",list[i]); printf("\n"); } void sort(char *p,int m) { int i; char t,*p1,*p2; for(i=0;i{ p1=p+i; p2=p+(m-1-i); t=*p1; *p1=*p2; *p2=t; } }

编写一个函数,它能对一个字符串(“I am a student”)测出长度,要求函数的形参是一个指针变量,函数返回值是字符串的长度。 #include void main() { int length(char *p); int len; char str[20]; printf("input string:"); gets(str); len=length(str); printf("The length of string is %d.\n",len); } int length(char *p) { int n; n=0; while(*p!='\0') { n++; p++; } //*p='\0'; //n++; return(n); } 若要统计结果包含结束符,则启用*p='\0';n++;两条语句

编一个函数cstrcmp实现两个字符串的比较,具体为: int cstrcmp(char *p1, char *p2) p1,p2分别指向字符串s1,s2;若s1=s2则函数返回0;若s1>s2,则函数返回1;若s1数返回-1。声明字符串s1,s2时对其进行初始化。 #include #include char s1[20]; char s2[20]; void input() { printf("输入第1个字符串:\n"); scanf("%s",s1); printf("输入第2个字符串:\n"); scanf("%s",s2); } int cstrcmp(char *p1,char *p2) { p1=s1; p2=s2; if(strcmp(p1,p2)==0) {

相关文档
最新文档