C语言程序设计课程实验题目
华农C语言程序设计实验

华农C语言程序设计实验[题目1118:赋值表达式与赋值语句,写出程序运行结果]阅读下面程序,写出运行结果:void main(){ float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;4e='\\';printf("%f,%d,%d,%c,%c", a,b,c,d,e);}运行结果为:3.500000,3,330,J,\[提示]赋值语句具有类型转换的功能,但可能会改变数据。
3. 基本运算[题目1119:基本运算,写出程序运行结果]阅读下面程序,写出运行结果:void main(){ int a, b, c;float d=15, e, f;a=35%7;b=15/10;c=b++;e=15/10;f=d/10;printf("%d,%d,%d,%f,%f,%f", a,b,c,d,e,f);}运行结果为:0,2,1,15.000000,1.000000,1.500000[提示]除法分整除与普通除法之分。
5[题目1126:字符的输入与输出]编程实现由键盘输入一个字符后,在屏幕上输出该字符。
参考程序:#include "stdio.h"main(){ char ch;ch = getchar();putchar(ch);}[题目1127:计算加法]编程实现由键盘输入一个加法式,输出正确的结果。
(两个加数均为整数)[第一组自测数据]参考程序:#include "stdio.h"main(){ int a, b;scanf("%d%*c%d", &a,&b);printf("%d", a+b);}[题目1014:求圆面积]参考程序:#include "stdio.h"main(){ float area,r;scanf("%f",&r);area=3.14159*r*r;printf("%0.2f",area);}3[题目1015:计算摄氏温度值]参考程序:#include<stdio.h>void main(){ float f,c;scanf("%f",&f);c=5.0/9*(f-32);printf("%.2f",c);}4参考程序:#include "stdio.h"#include "math.h"void main(){ float a,b;scanf("%f,%f",&a,&b); if(fabs(a*a+b*b-1)<1e-3) printf("Y\n");else printf("N\n");}}[题目1017:求数的位数] 参考程序:main(){ int n,place;scanf("%ld",&n);if(n>99999999) place=9;else if(n>9999999) place=8;else if(n>999999) place=7;else if(n>99999) place=6;else if(n>9999) place=5;else if(n>999) place=4;else if(n>99) place=3;else if(n>9) place=2;else place=1;printf("%ld\n",place);}[题目1018:数的排序]3,6,9参考程序:#include<stdio.h>main(){ int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c); 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;}printf("%d,%d,%d",a,b,c);}参考程序:#include <stdio.h>main(){ char a,b,c,d,e;scanf("%c%c%c%c%c",&a,&b,&c,&d,&e); if(a<='Z'&&a>='A') a=a+32;if(b<='Z'&&b>='A') b=b+32;if(c<='Z'&&c>='A') c=c+32;if(d<='Z'&&d>='A') d=d+32;if(e<='Z'&&e>='A') e=e+32;printf("%c%c%c%c%c",a,b,c,d,e);}#include "stdio.h"main(){ int a,b,c,d,e;scanf("%d %d %d %d %d",&a,&b,&c,&d,&e) ;if(a%27==0) printf("YES\n");elseprintf("NO\n");if(b%27==0) printf("YES\n");elseprintf("NO\n");if(c%27==0) printf("YES\n");else printf("NO\n");if(d%27==0) printf("YES\n");else printf("NO\n");if(e%27==0) printf("YES\n");else printf("NO\n");}参考程序:#include "stdio.h"main(){ int n;scanf("%d",&n);if(n<0)printf("negative\n");else printf("positive\n");if(n%2==0)printf("even\n"); else printf("odd\n");}[题目1023:简单计算器]参考程序:#include <stdio.h>int main(){ float a,b,c;char op;scanf("%f%c%f",&a,&op,&b);switch(op){ case '+':c=a+b;break;case '-':c=a-b;break;case '*':c=a*b;break;case '/':c=a/b;break;default:printf("error");break;}printf("result=%.2f",c);}9[题目1024:计算阶乘]输入正整数n,计算n!,结果用长整型数表示(注n!=1*2*3*...*n)参考程序:#include<stdio.h>main(){ long i,n=1,a;scanf("%ld",&a);for(i=1;i<=a;i++) n=n*i;printf("%ld\n",n);}[题目1025:计算数列和] 参考程序:#include<stdio.h>main(){ long n,sum=0,i,t=1; scanf("%ld",&n);for(i=1;i<=n;i++){ sum=sum+t;t=t+2;}printf("%ld\n",sum);}或#include <stdio.h>main(){ long n,sum;scanf("%ld",&n);sum=n*n;printf("%ld",sum);}注:评判系统不对程序实现细节进行分析,只对运行结果进行评测。
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语言课后实验设计题目及答案

设 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语言程序设计实验.设计.习题.答案.顺序结构与逻辑运算

}
实验四部分
4-1-a该程序的功能是:输入两个数:a、b,判断a*a+b*b的值,若a*a+b*b的值等于3或1,则y=a+b;若a*a+b*b的值等于0,则y=b-a;若a*a+b*b的值等于其他值,则输出“eerror”;最后输出y的值。
运行结果画面:
#include<stdio.h>
main()
{
int a,M;
scanf("%d",&a);
M=a>0?a:-a;
printf("abs(a)=%d\n",M);
}
4-4运行结果画面:
#include<stdio.h>
main()
{
int c,t,m;
printf("input the number of coat and trousers your want buy:\n");
scanf("%d",&x);
h=x/60;
m=x%60;
printf("%d小时%d分钟",h,m);
}
3-7我使用的算法:进行千分位转换,四舍五入。
运行结果画面:
#include<stdio.h>
main()
{
double x;
scanf("%lf",&x);
printf("%7.2f\n",x);
怎样终止调试状态(程序复位)?在菜单栏中选择“调试”,然后选择“StopDebugging”。
单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):第一种选择“Step Into”,跟踪到自定义函数内部;第2种选择“Step over”,不跟踪到自定义函数内部
C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
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语言程序设计综合实训题目

一、参考题目及选题(1)学生信息管理系统设计问题描述:学生信息包括:学号, 姓名, 年龄, 性别, 出生年月, 政治面貌, 籍贯, 家庭住址, 电话, E-mail等。
试设计一学生信息管理系统, 使之能提供以下功能:(1)系统以菜单方式工作(2)学生信息录入功能(学生信息用文件保存)(3)学生信息浏览功能(4)学生信息排序、查询功能对信息进行排序, 可以按学号, 按姓名, 按性别, 按出生年月日, 按籍贯进行查询(5)信息统计a) 可以按性别, 按出生年, 按籍贯统计学生人数b) 可以按班级统计学生人数c) 可以按政治面貌统计学生人数按班级统计学生党员人数, 团员人数, 以及所占比例, 设计并输出统计报表。
(6)学生信息的删除与修改●设计要求:●界面比较美观;有一定的容错能力, 比如输入的成绩不在0~100之间, 就提示不合法, 要求重新输入;●最好用链表的方式实现。
算法分析:首先, 一个学生包括这么多的属性, 应该考虑定义一个结构, 其次, 我们应该考虑数据的存储形式:是定义一个数组来存储, 还是定义一个链表呢?在这里假如我们以数组的方式来存储, 当然可以, 但是我们知道, 假如我们定义一个数组的话, 我们首先必须知道学生人数大概是多少, 以便我们确定数组的大小, 但是题目中没有给出, 而且题目要求中有大量的删除、插入操作, 所以用链表的方式比较方便。
对于菜单的实现, 其实也比较简单, 首先我们用printf语句把程序的功能列出来, 然后等待用户输入而执行不同的函数, 执行完了一个功能后又回到菜单。
文件的读写操作大家参照书中的有关文件的章节。
(2)、学生综合测评系统每个学生的信息为: 学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%, 10%, 10%, 20%。
C程序设计实验题目(下)[宝典]
![C程序设计实验题目(下)[宝典]](https://img.taocdn.com/s3/m/1df137f4112de2bd960590c69ec3d5bbfd0ada8d.png)
实验七函数程序设计(二)练习1.用递归方法解决猴子吃桃子的问题(P129习题6.10)。
运行结果:1534练习2.编写一个程序,其中包含一个子函数,功能为删除字符串中指定的某个字符,并显示删除后的字符串。
子函数要求:形式为:vo id delete_string(cha r str[],char ch);运行结果示例:练习3.编写一个程序,其中包含一个子函数,功能为求出一个二维数组(从键盘读入)中每列的最小元素,并依次放入一个一维数组中。
例:子函数要求:形式为:vo id fun(int tt[M][N],int pp[N]);(其中,tt是一个M行N列的二维数组,pp为存放结果的一维数组。
)*练习4.编写一个程序,功能为将一个无序数组b(包含5个元素)中的每个元素插入另一个有序数组a (包含10个元素)中的适当位置,使插入后的数组a依然有序。
其中,包含3个子函数,各函数要求如下:●子函数1:功能为读入一包含n个元素的数组;形式为:voi d i np ut(int a[],i nt n);●子函数2:功能为将一个数值x插入到包含n个元素的有序数组中;●形式为:voi d ins ert(int a[],i nt n,int x);●子函数3:功能为输出一包含n个元素的数组;形式为:voi d o ut p ut(int a[],i nt n);实验八指针程序设计(一)练习1.用指针变量的处理方法编写一个程序,功能为读入一组(10个)数据后,逆向输出。
程序要求:练习2.用指针变量的处理方法编写一个程序,功能为将数组s(共10个元素,由随机数生成)中的数据位置两两对倒,并输出结果。
程序要求:程序中对数组的处理全部使用指针方式。
练习3.用指针变量的处理方法编写一个子函数,功能为从键盘读入一个已经排好序的数组(共10个数),再输入一个数,将此数按次序规律将它插入到数组中后输出结果。
函数要求:实参为指针变量,形参为数组名,且形式为:vo id insert(int x[ ], int m);其中:形参m为要插入的数据;函数无返回值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
page 1
b,c); getchar(); scanf("a=%cb=%dc=%f",p1,p2,p3); printf("a=%d b=%c c=%.2f\ n",a,b,c); } 输入:a↙ 输出: 输入:b□65□3.1234↙ 输出: 输入:a=b□b=65 □c=3.1234↙ 输出: 实验四 分支语句 实验目的:掌握使用 if ̄else 语句和 swit ch ̄case 语句实现分支结构的方 法。 实验内容: 1.求出下面分段函数的值 x≤0 ?0 ? y= ? x 0 < x ≤ 10 ?2 x + 1 x > 10 ? 要求: (1)使用 if ̄else 语句 ( 2)x 的值从键盘输入 2.运输公司对用户计算运费。距离越远,每公里运费越低,标 准如下: s<250km 250<=s<500 500<=s<1000 1000<=s<2000 2000<=s<3000 无折扣 2 %折扣 5%折扣 8%折扣 10%折扣 3000<=s 15%折扣 设每公里每吨货物的基本运费为 p,货物重为 w,距离为 s,折扣为 d,则 总 运费计算公式为:f=p*w*s*(1-d),编写程序计算运费。 要求: (1)使用 switch ̄ case 语句。 (2)p、w、s 的值从键盘输入。 实验五 循环语句 实验目的:掌握使 用三种循环语句实现循环结构的方法。 实验内容: 1.猴子吃桃问题。猴子第一天摘 下若干个桃子,当即吃了一半另一个,以 后每天早晨都吃剩下的一半另一个,到第十 天早晨再想吃时,就剩一个桃子。问 第一天共摘了多少桃子。 要求:分别用三种语 句编写程序。 2.编写程序验证下列结论:任何一个自然数 n 的立方都等于 n 个连 续奇数 之和。例如:13=1;23=3+5;33=7+9+11。 要求:程序对每个输入的自然数计 算并输出相应的连续奇数,直到输入的 自然数为 0 时止。 实验六 编译预处理 实验 目的:掌握宏定义、宏调用,以及宏展的处理过程,掌握文件包含的 概念和使用。 实验内容: 1.试分析以下宏替换后的形式,计算输出结果。 要求:先计算运行结果 ,然后利用程序验证。 #include "stdio.h" #define #define #define main() { i nt x=2; PR1(CX(5)*x); } 2.通过宏调用方式,求从 n 个数的最大值。 要求:数据 从键盘输入。 CX(y) PR(a) 2.5+y printf("%d",(int)(a)) PR1(a) PR(a); putchar('\n') 实验七 一维数组 实验目的:掌握一维数组的定义、初始化,以及一维数组元素 的下标法引 用和指针法引用。 实验内容: 1.数组 a 中存放 10 个非 0 整数,编 写程序,将数组 a 中的所有正数存放 在数组的前面,负数存放在数组的后面。 要求 : (1)数组元素值从键盘输入。 (2)用下标法和指针法两种方法。 2.将数组 a 中的 10 个元素后移 m 位,移出的 m 位顺序存放在数组的前位。 要求: (1)数 组元素值在程序中初始化。 (2)m 的值从键盘输入。 (3)用下标法和指针法两种 方法。 实验八 二维数组 实验目的:掌握二维数组的定义、初始化,以及二维数组元 素的下标法引 用和指针法引用。 实验内容: 1.有 5 名学生,每名学生有语文、数 学、物理和外语四门课的考试成绩, 编程统计各学生的总分和平均分,以及所有学生 各科的总计分和平均分。 要求: (1)成绩在程序中初始化,结果以表格的形式输出 。 (2)分别用下标法和指针法实现。 2.将 4×4 阶矩阵的 4 个最小值按升序存放 在主对角线上。 要求: (1)矩阵元素从键盘输入。 (2)分别用下标法和指针法实 现。 实验九 字符串 实验目的:掌握使用下标法和指针法处理字符串。 实验内容: 1.编写程序,将字符串中相同字符的存放在一起,并按 ASCII 码升序存放。 2.编 写程序,统计字符串 str 中含有子串 substr 的个数。 实验要求: (1)字符串从 键盘输入。 (2)分别用下标法和指针法实现。 函数的定义、 实验十 函数的定义、调用与参数传递 实验目的: 掌握函数的定 义、调用和参数的传递方式。 实验内容: 1.有两个数组 a、b,各有 10 个元素, 分别统计出两个数组对应元素大于 (a[i]>b[i])、等于(a[i]=b[i])和小于(a[i]<b[i ])的次数。 要求:通过函数调用方式,并分别使用数组元素、数组名和指针变量作函 数的参数。 2.编写程序,将一个 5×5 阶矩阵中最大元素放在中心,四个角分别放 4 个最小元素(顺序为从左到右,从上到下的顺序一次从小到大存放) 。 要求:通 过函数调用方式,并分别使用数组名和指针变量作函数的参数。 实验十一 函数的嵌 套调用和递归调用 实验目的:掌握函数的嵌套调用和递归调用。 实验内容: 1.编 写程序,计算下列函数值: f(x,y)= s( x) s( y) n 其中,s(n)= ∑ p (i ) =p(1)+p(2)+…p(n),p(i)=i!。