C语言实验课题目

合集下载

《C语言程序设计》实验四

《C语言程序设计》实验四

电子科技大学计算机学院标准实验报告(实验)课程名称C语言程序设计电子科技大学教务处制表电子科技大学实验报告四学生姓名:学号:指导教师:王瑞锦实验地点:实验日期:年月日一、实验室名称:软件实验室二、实验项目名称:函数的应用及预处理三、实验学时:2四、实验原理:使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。

Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。

通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。

五、实验目的1.掌握C语言中定义函数的方法;2.掌握函数传值调用的方法;3.掌握函数传址调用的方法;4.掌握递归函数的设计方法;5.掌握命令行参数的使用方法;6.掌握函数在不同文件中的编译、链接方法。

六、实验内容编程实验,完成以下上机内容,调试运行程序并完成报告1)、教材第七章习题7.4;2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;3)、教材第七章习题7.11;4)、教材第七章习题7.15;5)、教材第七章习题7.24;6)、求解汉渃塔(tower of Hanoi)问题。

在一块平板上立有3根立柱,从左到右分别标记为A,B,C。

最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。

要求将这些盘从A移到C(可以借助B柱)。

条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。

(提示:利用函数的递归调用);七、实验器材(设备、元器件):pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。

软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。

八、实验步骤:实验编程与运行结果⑴编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。

程序文件名为7_4.c,源程序清单如下:#include<stdio.h>lcd(int a,int b){int temp,num1,num2;num1=a;num2=b;while(num2!=0){temp=num1%num2;num1=num2;num2=temp;}return(a*b/num1);}main(){int t,x,y;printf("Please input two integers:");scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;y=t;}printf("lcd(%d,%d)=%d\n",x,y,lcd(x,y));}运行结果:⑵编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。

c语言课程设计参考题目

c语言课程设计参考题目

c语言课程设计参考题目
以下是一些可以作为C语言课程设计参考的题目:
1. 编写一个简单的C程序,实现一个计算器的功能,包括按键输入、按位运算、结果输出等。

2. 设计一个C语言的数据结构,例如链表、树、图等。

3. 实现一个简单的程序,用于检测一个字符串是否包含某个特
定的字符集。

4. 设计一个C程序,实现一个文件管理系统,包括文件读取、修改、删除、创建等操作。

5. 编写一个C程序,模拟一个简单的计算机操作系统,例如进程
管理、内存管理等。

6. 设计一个C程序,用于处理一个字符串,包括查找特定字符、
替换特定字符、翻译文本等。

7. 实现一个简单的编译器,用于编译C程序。

8. 设计一个C程序,用于实现一个网络应用程序,包括用户登录、数据发送、数据接收等。

9. 编写一个C程序,用于实现一个简单的图形用户界面,例如窗口、菜单、按钮等。

10. 设计一个C程序,用于处理一个音频播放器,包括音频读取、播放、暂停、中断等。

这些题目都是相对来说比较难的,但也都是C语言编程中比较经
典的应用场景。

通过这些题目的训练,可以帮助学生更好地掌握C语
言的编程思想和技巧。

C语言课后实验设计题目及答案

C语言课后实验设计题目及答案
算法提示
设 total:桃子的总数
x1 :前一天的桃子数
x2 : 后一天的桃子数
day: 天数
计算公式:x1=(x2+1)*2 第1天的桃子数是第2天桃子数加1后的2倍。
(2)求1-1/2+1/3-1/4+⋯⋯,输入1个正整数n(n<=100),计算并输出1-1/2+1/3-1/4+⋯⋯的前n项和(保留3位小数)。
实验项目四 分支结构程序设计
题目
(1)输入四个整数,输出其中的最小值。
实验报告
1、主程序:
// zx.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
}
2、主程序:
// s.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int main(int argc, char* argv[])
{
x=x*x*x*x;return(x);
}
int main(int argc, char* argv[])
{
float x;
printf("请输入X=");
scanf("%f",&x);
double s;

C语言程序课程设计实验报告(用一个字符数组保存一个英文句子)

C语言程序课程设计实验报告(用一个字符数组保存一个英文句子)

河南城建学院《高级语言程序设计》课程设计报告设计题目:用一个字符数组保存一个英文句子专业:计算机科学与技术班级:设计人员:指导教师:计算机科学与工程学院2015年06 月25日一、课程设计题目13.用一个字符数组保存一个英文句子。

二、设计要求1)删除该英文句子中的前导空格,后导空格,并删除句子中多余的空格(单词之间只留一个空格);2)统计该句子中,单词出现的频率;3)查找并替换某个单词。

三、程序介绍1.去除字符组中间空格。

void zhongjian(char a[]){int i,j,k; /*定义整形变量i,j,k。

i,j 作为函数内循环的控制变量。

定义k用于字符组长度存放。

*/ k=strlen(a); /*将字符组a的长度存放于k 中。

(字符组a即待处理的字符组)*/for(i=0;i<k;) /*循环控制,从第一位循环到字符组结束。

*/if(a[i]!=' 'i++; /*条件控制,若当前字符不为空格,跳到下一位再进行循环。

*/else if(a[i]==' ')if(a[i+1]==' ') /*当连续出现两个空格,需要去除一个空格*/{k=k-1; /*字符串总长度减一。

*/ for(j=i;j<k;j++)a[j]=a[j+1]; /*从第一个空格开始,后续所有字符前提一位,即去除第一个空格。

*/a[k]='\0'; /*去除空格后字符组长度减一,原字符组最后一位需要变为\0。

*/continue; /*去除空格后,继续从该位检测,直至不符合该循环条件。

*/}elsei++; /*若不是连续两个空格,则跳到下个字符再进行循环。

*/printf("%s\n",a); /*输出处理后的字符组。

*/ }2.导入及导出函数void daoru(){FILE *p; /*定义一个指针函数,用于指向需要打开的文件。

C语言课程设计参考题目

C语言课程设计参考题目

C语言课程设计参考题目C语言课程设计参考题目一、基本要求题目1、一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同,且后两位数字也相同;第二位目击者是一位数学家,他看出车牌号是四位完全平方数。

试编程推算肇事车的车牌号。

2、有17个人围成一圈,从0号的人开始报数,凡报到3的倍数的人离开圈子,然后再数下去。

直到最后只剩下一个人为止。

问此人原来的位置是多少号。

3、编写一个程序,求3X4数组的转置矩阵。

要求在main函数里读数,在change 函数里把矩阵转置。

4、编写函数,求取两个整数m,n的最大公约数和最小公倍数。

5、用指向指针的方法对n个整数排序并输出。

要求将排序单独写成一个函数。

N 个整数在主函数中输入。

最后在主函数中输出。

6、有n个学生,每个学生的数据包括学号、姓名、年龄和两科成绩。

请编程用结构类型的数据处理方式实现如下目标:(1)在main 函数中输入原始数据;(2)在count 函数中输出各学生的总分和平均分;(3)输出总分最高的学生;(4)编写sort函数将各学生的数据按总分降序输出。

7、编写求子串函数substr(s,n1,n2),在串s中从n1位置开始取n2个字符的子串8、文件加密程序:将待加密文件以二进制打开,读入32个字节,分别与口令异或,在将4、5、6三个字分别与0xaaaa异或,即完成加密,执行第二次就解密9、编写字串str1 中找出所有小写字母转成大写字母,大写字母转成小写字母后,结果依次存入字符数组 str2 中,str1 不变仍为原字串的程序。

例如,字符串str1 为 "91A2BC. a1bc",调用函数 fun 后,字符数组str2将存入"91a2bc. A1BC",str1仍然是"91A2BC. a1bc"。

10、编写一个将某个范围在-32768~32767之间的整数转换为R进制(R=2,5,8,16)的通用程序。

C语言上机实验例题

C语言上机实验例题

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

C语言_实验九、结构体程序设计

C语言_实验九、结构体程序设计

实验九、结构体程序设计一、实验目的1.掌握结构、结构数组、结构指针的定义及使用;2.掌握简单的链表的定义及使用;3.掌握共用体和枚举类型的定义及使用;4.掌握文件的简单的定义、打开、写、关闭等操作。

二、实验内容1.[题目内容]某考点建立一个考生人员情况登记表、表格内容如下:1)根据上表正确定义该表格内容要求的数据类型。

2)分别输入各成员项数据,并打印输出(为简便,假设有3个考生)编程序,然后上机调试运行程序。

2.[题目内容]某单位进行选举,有5位候选人:zhang、wang、li、zhao、liu。

编写一个统计每人得票数的程序。

要求每个人的信息使用一个结构体表示,5个人的信息使用结构体数组。

3.[题目内容]设张三20岁、李四22岁、王平23岁,编程输出3人中年龄最小者的姓名和年龄。

4.[题目内容]定义一个学生成绩结构体类型,包含“学号”、“姓名”、“性别”、“年龄”、“班级”、“英语”、“数学”、“物理”、“总分”、“名次”等信息。

编写6个函数分别用于:(1)使用结构体数组,输入全班10名学生的上述信息;(2)计算每一个学生的总分、平均分;(3)计算每一门课程的平均分;(4)查找成绩有不及格的学生信息;(5)按学生成绩总分降序排序;(6)输出全班学生的学号、总分及名次。

5.[题目内容]利用上一题的结构类型,创建包含10个结点的无序链表。

编写5个函数分别实现下述功能(参考前面第三部分内容):(1)显示链表;(2)添加结点;(3)删除结点;(4)计算每位学生的总分;(5)按英语成绩排序。

三、课后作业(写实验报告)1.学生成绩管理:有5个学生,每个学生的数据包括学号、班级、姓名、三门课成绩。

从键盘输入5个学生数据,要求打印出每个学生三门课的平均成绩,以及每门课程平均分、最高分学生数据(包括学号、班级、姓名、三门课成绩,平均分)。

(1)定义学生结构体。

(2)用一个函数实现5个学生数据的输入,用另一个函数负责求每个学生三门课程的平均成绩,再用一个函数求出平均分最高的学生并输出该学生的数据。

C语言课程 课后练习 参考答案

C语言课程 课后练习 参考答案

实验6-1课后练习:1.选择题(1)B (2)C(3)A(4)D(5)C (6)C (7)D 2.阅读程序,写出运行结果3020103.阅读程序,写出运行结果20104. 阅读程序,写出运行结果1 2 35.阅读程序,写出运行结果7 8 96.阅读程序,写出运行结果97.阅读程序,写出运行结果#include <stdio.h>int digit(int n,int k);int main(){ int n,k;printf("Enter n,k: ");scanf("%d %d",&n,&k);printf("\nThe result is:%d\n",digit(n,k));return 0;}int digit(int n,int k){ int d;while(k>0){ d=n%10;n=n/10;k--;}return d;}8.程序填空#include <stdio.h>double max(double a,double b);int main(){ double x,y;prinf("please input two double numbers:"); scanf("%lf %lf"),&x,&y;printf("%.2f\n",max(x,y));return 0;}double max(double a,double b){return (a>b?a:b);}9.原版#include <stdio.h>int check(int n,int d);int main(){ int n,d;printf("Enter n,d: ");scanf("%d %d",&n,&d);if(check(n,d)==1)printf("The digit %d is in data %d",d,n); elseprintf("The digit %d is not in data %d",d,n); return 0;}int check(int n,int d){ int temp;while(n>0){ temp=n%10;if(temp==d)return 1;n=n/10;}return 0;}改进版#include <stdio.h>int check(int n,int d);int main(){ int n,d,position;printf("Enter n,d: ");scanf("%d %d",&n,&d);position=check(n,d);if(check(n,d)>0)printf("The digit %d is in data %d,position is %d",d,n,position);elseprintf("The digit %d is not in data %d",d,n);return 0;}int check(int n,int d){ int temp,position=1;while(n>0){ temp=n%10;if(temp==d)return position;position++;n=n/10;}return 0;}实验6-2课后练习1.选择题(1)B (2)C(3)B(4)B(5)C (6)B (7)D (8)D (9)C(10)B(11)A2.填空(1) 函数中声明有局部变量,若声明中带有static,则该局部变量采用静态存储方式,在编译时分配空间,若函数中未显式设定初始值,则系统将其自动初始化,函数被调用结束时,该空间不释放。

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

完成下列题目: 1. 键盘输入与屏幕输出练习
问题 1 要使下面程序的输出语句在屏幕上显示 1, 2, 34, 则从键盘输入的数据格式应为以下 备选答案中的 。
#include <stdio.h> main() { char a,b; int c;
scanf("%c%c%d",&a,&b,&c); }
n 1 20
化程序。
掌握以下内容:
1. 2. 3. 4. while 语句、do-while 语句和 for 语句格式三种循环语句的使用; 简单循环问题的分析和程序设计; 正确的构造循环条件; 循环程序的调试方法和技巧。
实验 4 函数
题目:
1、编写一个函数,输出语句: “I Love China! ” 。 2、调试下面的程序,记录系统给出的出错信息,并指出错误原因。 main( ) { int x,y; printf("%d\n",sum(x+y)); } int sum(a,b); { int a,b; return(a+b); } 3、编写函数,判断指定的字符是否是数字字符,如果是返回 1,不是则返回 0。在主函数中 输入该字符,调用函数判断该字符并输出是否是数字字符。 4、编写一函数,计算整数 m 的 n 次幂,在主函数中输入 m 和 n,在主函数中输出计算结果。 5、求 1!+2!+…+n!,要求:编写两个函数,分别实现求 n!功能,和 1!+2!+…+n!功能,在 主函数输入 n 值,并在主函数中输出计算结果。 6、指出下列各变量的存储属性,分析程序的应得结果,并上机验证。 #include <stdio.h> int n=1; void func( ) { static int a=2; int b=5; a+=2; b+=5; n+=12; printf("a=%d,b=%d,n=%d\n",a,b,n); } main( ) { int a=0,b= -10; printf("a=%d,b=%d,n=%d\n",a,b,n); func( ); printf("a=%d,b=%d,n=%d\n",a,b,n); func( ); printf("a=%d,b=%d,n=%d\n",a,b,n); }
2. 计算定期存款本利之和
设银行定期存款的年利率 rate 为 2.25%,并已知存款期为 n 年,存款本金为 capital 元,试编 程计算 n 年后的本利之和 deposit。要求定期存款的年利率 rate、存款期 n 和存款本金 capital 均由键盘输入。
实验 2 选择语句
题目:
1、编写程序,输入一个正整数,判断该数是奇数还是偶数,并输出判断结果。 2、有一函数:
实验 5 指针
题目:
1、调试下面的程序,指出错误的原因。 main( ) { int x=10,y=5,*px,*py; px=py; px=&x; py=&y; printf("*px=%d,*py=%d\n",*px,*py); } 2、编写一个函数,交换主函数中变量 x 和 y 的数据。 3、完善下面的程序,功能是子函数将主函数中两个变量较小的变量地址返回,主函数中输 出其数据。 int *fun(int *,int *) main() { int a,b,*p; scanf( ); ; printf (”a=%d,b=%d,*p=%d”, ); } int (int *x,int *y) { }
掌握以下内容:
1、无参函数的定义和调用; 2、有参无返回值函数的定义和调用; 3、对于有返回值函数调用时的处理方法 ; 4、有参函数调用时,实参和形参的概念理解和对应关系; 5、有返回值函数调用时返回值的处理; 6、函数的嵌套调用; 7、函数的声明; 8、全局变量和局部变量的定义及使用; 9、函数的嵌套调用; 10、全局变量的值传递和同名变量的理解。
printf("%c,%c,%d\n",a,b,c);
问题 2 在与上面程序的键盘输入相同的情况下, 要使上面程序的输出语句在屏幕上显示 1 2 34,则应修改程序中的哪条语句?怎样修改? 问题 3 要使上面程序的键盘输入数据格式为 1,2,34,输出语句在屏幕上显示的结果也为 1,2,34,则应修改程序中的哪条语句?怎样修改? 问题 4 要使上面程序的键盘输入数据格式为 1,2,34,而输出语句在屏幕上显示的结果为'1', '2',34,则应修改程序中的哪条语句?怎样修改? [提示:利用转义字符输出字符单引号字符。]
实验 7 结构体
题目:
1、定义一个结构体类型,用于存放职工信息,其中包括:职工号、姓名、性别、年龄、职 称、家庭住址。然后定义该类型的变量,从键盘输入具体数据,然后打印出来。 2、有 10 名学生,每个学生的数据包括:学号、姓名、成绩,从键盘输入 10 个学生的数据, 输出成绩最高者的姓名和成绩。
掌握以下内容:
1. 2. 3. 4. 5. 6. 7. 8. 一维数组的定义、元素的引用; 一维数组编程的循环控制特色; 排序等相关算法的实现; 一维数组编程的循环控制特色,程序调试时的数组越界问题; 排序算法的理解和记忆; 二维数组的定义、元素引用、使用方法; 字符数组的定义、元素引用、使用方法; 字符串的操作及常用程序设计方法。
x 3 1 3 x 1 y 2 x 1 5 3e 5 x 3 log (2 x 2 1) 13 10
x 1 1 x 1 1 x 10 x 10
编写一个程序,用 scanf 函数输入 x 的值,输出 y 值。注意表达式的书写方法。 提示:此题要用到数学函数 exp()和 log10() ,因此应包含相应的头文件 math.h。 3、输入年号,判断并输出该年是否闰年。所谓闰年,是指能被 4 整除,但不能被 100 整除; 或能被 400 整除的年份。 算法提示:此题要注意条件的表达。或者通过逻辑运算符构造复杂的条件表示;或者通过 if 分支嵌套来完成所有条件的表示。 4、输入学生考试成绩,输出相应等级,其中等级 A >=90,B>=80,C>=70,D>=60,E<60。 要求分别用 if 语句和 switch 语句解答,使用 switch 语句时注意 case、break、default 的语句 编写。
掌握以下内容:
1. 2. 3. 4. 关系运算符和逻辑运算符的使用; 非 0 即为真;&&和||的运算顺序和特殊情况(0&&非 0、非 0||0、if(5>4>3)) ; if 语句的使用; switch 语句的使用(注意 switch 的判断表达式、case 的用法、有无 break 的区别、default 的位置) ; 5. if 语句嵌套使用
掌握以下内容:
1. 2. 3. 4. 结构体类型的定义、结构体变量定义、结构体变量的使用; 结构体数组的使用; 结构体指针; 结构体类型作为函数参数。
实验 1 输入输出
要求掌握:
1、 VC++平台的使用; 2、 C 源程序的建立、保存、编译和运行; 3、 变量的定义、赋值和运算; 4、 printf 函数的使用; 5、 scanf 函数的使用; 6、 int、long、float、double、unsigned 的含义; 7、 关键字、预定义标识符和用户标识符的区别; 8、 自加自减运算符的使用。
A)1 2 34 C)’1’,’2’,34
B)1, 2, 34 D)12 34
问题 5 要使上面程序的键盘输入无论用下面哪种格式输入数据,程序在屏幕上的输出结果 都为'1', '2',34,则程序应修改程序中的哪条语句?怎样修改? 第 1 种输入方式:1,2,34↙(以逗号作为分隔符) 第 2 种输入方式:1 2 34↙(以空格作为分隔符) 第 3 种输入方式:1 2 34↙(以 Tab 键作为分隔符) 第 4 种输入方式:1↙ 2↙ 34↙(以回车符作为分隔符) [提示:利用忽略输入修饰符。]
实验 3 循环语句
题目:
1. 从键盘输入若干整数,以 0 结束,判断并输出其中的最大数。 2. 输入、空格、数字 和其它字符的个数。 3. 分别用 while、do-while 和 for 语句计算 ) ,并试着简 n! (即求 1!+2!+3!+…+20!
掌握以下内容:
1. 2. 3. 4. 5. 6. 指针变量的含义及定义、使用; 指针作为函数参数的使用; 指针参数的函数调用时实参形式要求; 返回指针值的函数调用; 指针参数的定义及调用时实参的形式; 正确理解指针传递数据的过程。
实验 6 数组
题目:
1、运行下面的程序。根据运行结果,可以说明什么? main( ) { int i,x[5]={1,2,3,4,5}; for (i=0;i<=5;i++) printf("%4d",x[i]); } 2、从键盘输入 10 个整数,找出最大的数并输出该数及其下标。 3、有一个一维数组包含 10 个元素,编写程序将其中的值按升序排序存放。 4、从键盘输入一个字符串,分别输出其完全大写和完全小写的形式。 5、 有一个 4×5 的矩阵, 编写程序找出值最大的那个元素, 输出其值以及所在的行号和列号。 6、输入一个 M 行 M 列的二维数组,分别计算两条对角线上的元素之和。M 由下面的符号 常量定义: #define M 5
实验 1 实验 2 实验 3 实验 4 实验 5 实验 6 实验 7
熟悉 VC 环境,熟悉输入输出语句 熟悉选择语句使用 熟悉循环语句使用 熟悉函数使用 熟悉指针 熟悉数组 熟悉结构体
相关文档
最新文档