C语言程序设计实训题目

合集下载

大学c语言实践考试题及答案

大学c语言实践考试题及答案

大学c语言实践考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable_2D. variable$答案:B4. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B5. C语言中,以下哪个选项是正确的二进制运算符?A. &&B. ||C. %D. ==答案:C6. 在C语言中,以下哪个选项用于声明一个整型数组?A. int arr[5];B. int [5] arr;C. int 5 arr;D. int arr5;答案:A7. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fgetcD. All of the above答案:D8. C语言中,以下哪个选项是正确的递归函数调用?A. void func() { func(); }B. void func() { if (condition) func(); }C. void func() { func(0); }D. void func(int n) { if (n > 0) func(n - 1); }答案:D9. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int * ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. typedefC. unionD. struct答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的关键字是____。

C语言程序设计实训题目

C语言程序设计实训题目

C语言程序课程设计题目题目1:年历显示功能要求:(1)输入一个年份,输出是在屏幕上显示该年的日历。

假定输入的年份在1940-2040年之间。

(2)输入年月,输出该月的日历。

(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。

题目2:小学生测验面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

功能要求:(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”。

题目3 运动会比赛计分系统要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;功能要求:(1)系统以菜单方式工作(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。

(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩(4)查看参赛学校信息和比赛项目信息等。

题目4:学生学籍管理系统(限2人)用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。

(用文件保存)功能要求:(1)系统以菜单方式工作。

(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;(3)删除已知学号的学生信息;(4)查找已知学号的学生信息;(5)按学号,专业输出学生籍贯表。

(整理)单片机C语言程序设计实训100例

(整理)单片机C语言程序设计实训100例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例第01 篇基础程序设计01 闪烁的LED/* 名称:闪烁的LED说明:LED按设定的时间间隔闪烁*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED=P1^0;//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){while(1){LED=~LED;DelayMS(150);}}02 从左到右的流水灯/* 名称:从左到右的流水灯说明:接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intvoid DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){P0=0xfe;while(1){P0=_crol_(P0,1); //P0的值向左循环移动DelayMS(150);}}03 8只LED左右来回点亮/* 名称:8只LED左右来回点亮说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){uchar i;P2=0x01;while(1){for(i=0;i<7;i++)P2=_crol_(P2,1); //P2的值向左循环移动DelayMS(150);}for(i=0;i<7;i++){P2=_cror_(P2,1); //P2的值向右循环移动DelayMS(150);}}}04 花样流水灯/* 名称:花样流水灯说明:16只LED分两组按预设的多种花样变换显示*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code Pattern_P0[]={0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};uchar code Pattern_P2[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};void DelayMS(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}//主程序void main(){uchar i;while(1){ //从数组中读取数据送至P0和P2口显示for(i=0;i<136;i++){P0=Pattern_P0[i];P2=Pattern_P2[i];DelayMS(100);}}}05 LED模拟交通灯/* 名称:LED模拟交通灯说明:东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮,红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁5此后变红灯,东西向变绿灯,如此重复。

(完整word版)单片机C语言程序设计实训100例

(完整word版)单片机C语言程序设计实训100例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例第 01 篇基础程序设计01 闪烁的LED/*名称:闪烁的LED说明:LED按设定的时间间隔闪烁*/#include<reg51.h〉#define uchar unsigned char#define uint unsigned intsbit LED=P1^0;//延时void DelayMS(uint x){uchar i;while(x-—){for(i=0;i〈120;i++);}}//主程序void main(){while(1){LED=~LED;DelayMS(150);}}02 从左到右的流水灯/* 名称:从左到右的流水灯说明:接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果*/#include〈reg51。

h〉#include<intrins。

h>#define uchar unsigned char #define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x—-){for(i=0;i〈120;i++);}}//主程序void main(){P0=0xfe;while(1){P0=_crol_(P0,1); //P0的值向左循环移动DelayMS(150);}}03 8只LED左右来回点亮/*名称:8只LED左右来回点亮说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/#include<reg51.h>#include〈intrins.h>#define uchar unsigned char #define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x——){for(i=0;i〈120;i++);}}//主程序void main(){uchar i;P2=0x01;while(1){for(i=0;i〈7;i++){P2=_crol_(P2,1); //P2的值向左循环移动DelayMS(150);}for(i=0;i<7;i++){P2=_cror_(P2,1); //P2的值向右循环移动DelayMS(150);}}}04 花样流水灯/* 名称:花样流水灯说明:16只LED分两组按预设的多种花样变换显示*/#include<reg51。

课后题答案-C语言程序设计(第2版)

课后题答案-C语言程序设计(第2版)

《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。

#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

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

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

C语⾔课后实验设计题⽬及答案C语⾔实验题⽬及答案1、实验项⽬⼀ C程序的编辑、编译、连接和运⾏题⽬:编写程序,要求屏幕上显⽰如下信息:***********************This is a C program .***********************程序:#includevoid main(){printf(“***********************\n”);printf(“This is a C programn .\n”);printf(“***********************\n”);}实验项⽬⼆数据类型、运算符、表达式题⽬(1)程序填空:输⼊1 个实数x,计算并输出其平⽅根(保留1 位⼩数)。

填空1.double x,root;2.root=sqrt(x);(2)输⼊⼀个⼤写英⽂字母,输出相应的⼩写字母。

填空1.ch=ch+32;1、#include "stdafx.h"#include "stdio.h"#include "math.h"int main(int argc, char* argv[]){printf("This is a Cprogram\n");return 0;}#include "math.h"int main(int argc, char* argv[]) {double x;printf("x=");scanf("%lf",&x);printf("%lf\n",sqrt(x));return 0;}2、实验项⽬三顺序结构程序设计题⽬(1)编写程序,输⼊三⾓形的三边长a、b、c,求三⾓形⾯积area。

(2)设圆半径r=1.5,圆柱⾼h=3,求圆周长、圆⾯积、圆球表⾯积、圆球体积、圆柱体积。

C语言程序设计综合实训题目

C语言程序设计综合实训题目

一、参考题目及选题(1)学生信息管理系统设计问题描述:学生信息包括:学号, 姓名, 年龄, 性别, 出生年月, 政治面貌, 籍贯, 家庭住址, 电话, E-mail等。

试设计一学生信息管理系统, 使之能提供以下功能:(1)系统以菜单方式工作(2)学生信息录入功能(学生信息用文件保存)(3)学生信息浏览功能(4)学生信息排序、查询功能对信息进行排序, 可以按学号, 按姓名, 按性别, 按出生年月日, 按籍贯进行查询(5)信息统计a) 可以按性别, 按出生年, 按籍贯统计学生人数b) 可以按班级统计学生人数c) 可以按政治面貌统计学生人数按班级统计学生党员人数, 团员人数, 以及所占比例, 设计并输出统计报表。

(6)学生信息的删除与修改●设计要求:●界面比较美观;有一定的容错能力, 比如输入的成绩不在0~100之间, 就提示不合法, 要求重新输入;●最好用链表的方式实现。

算法分析:首先, 一个学生包括这么多的属性, 应该考虑定义一个结构, 其次, 我们应该考虑数据的存储形式:是定义一个数组来存储, 还是定义一个链表呢?在这里假如我们以数组的方式来存储, 当然可以, 但是我们知道, 假如我们定义一个数组的话, 我们首先必须知道学生人数大概是多少, 以便我们确定数组的大小, 但是题目中没有给出, 而且题目要求中有大量的删除、插入操作, 所以用链表的方式比较方便。

对于菜单的实现, 其实也比较简单, 首先我们用printf语句把程序的功能列出来, 然后等待用户输入而执行不同的函数, 执行完了一个功能后又回到菜单。

文件的读写操作大家参照书中的有关文件的章节。

(2)、学生综合测评系统每个学生的信息为: 学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。

考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%, 10%, 10%, 20%。

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)
I begin to study C language.
四、找出下面程序中的所有语法错误,然后在计算机上运行输出正确结果。
1.(1)Void应为void;(2)INT应为int;(3)“/* COMPUTE RESULT”后缺少“*/”;(4)“printf ("The answer is %i\n" sum);”应为“printf ("The answer is %d\n" ,sum);”
①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。如图1-2所示
图1-2选择新建
②在弹出的新建对话框中设置好相应的内容,如图2-2所示。要事先准备好保存文件的目录,例d:\lx目录。在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C语言程序的扩展名“.c”。设置好后,单击“OK”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c文件存放在D盘的LX目录下。
int main (void)
{
printf ("This is my first C program.\nAnd programming in C is even more fun.\n");
return 0;
}
实验4(1)计算33+56的和。
解题思路:将例1.2中变量值改为33与56代码如下:
#include <stdio.h>
int main( )
{int a,b,c;
a=2;b=3;
C=a+b;错误:C未定义
printf(“%d+%d=%d\n”,a,b,c);
return 0;
}
运行结果:2+3=5

c语言程序设计实验题目

c语言程序设计实验题目

1. 编写一个程序,要求用户输入两个整数,然后计算这两个整数的和、差、积和商。

2. 编写一个程序,要求用户输入一个半径,然后计算并输出圆的周长和面积。

3. 编写一个程序,要求用户输入一个正整数n,然后计算并输出1到n的所有偶数之和。

4. 编写一个程序,要求用户输入一个字符串,然后统计并输出该字符串中大写字母、小写字母、数字和其他字符的个数。

5. 编写一个程序,要求用户输入一个正整数n,然后计算并输出斐波那契数列的前n项。

6. 编写一个程序,要求用户输入一个正整数n,然后判断该整数是否为素数。

7. 编写一个程序,要求用户输入一个正整数n,然后计算并输出n的阶乘。

8. 编写一个程序,要求用户输入一个正整数n,然后计算并输出n的平方根。

9. 编写一个程序,要求用户输入一个正整数n,然后计算并输出n的立方根。

10. 编写一个程序,要求用户输入一个正整数n,然后计算并输出n的第k个斐波那契数。

C语言程序设计实训题目一

C语言程序设计实训题目一

C语言程序设计实训题目(一人完成一题,一般选取相同题目的最多允许3人)指导教师:孙杰1.设计一个多功能计算软件实现功能:1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。

依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。

结果可以作为下一个运算的第一运算数。

按‘C’清屏,按‘R’返回菜单。

例如:输入:2+5输出:72)实现单运算符表达式计算的功能。

输入的操作数可以包含整数或浮点数。

输入表达式如下:例如:输入:2+5输出:72.学生成绩管理系统1) 具备对成绩的管理功能(添加、删除、排序)2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)3) 具备按学号、姓名、或课程名查询成绩的功能。

备注:成绩记录以下信息:班级,学号,姓名,课程名,成绩(百分制)。

可以用能表示学生成绩的结构体数组存储数据。

3.设计一个通讯录管理软件。

实现功能:1) 通讯录编辑(添加、删除)。

2) 按不同的项进行查找。

3) 对已存在的通讯录按不同的项排序。

4) 将通讯录写入文件5) 从文件读入通讯录备注:通讯录至少应该有以下数据项:姓名,地址,电话,邮编,E-mail。

4、汉诺塔问题(Towers of Hanoi)汉诺塔的问题是假设有三根木桩A、B和C。

在木桩A上放置了N个圆盘,由上到下编号为1,2,,…,N,编号越大的圆盘直径越大。

而我们必须将圆盘由木桩A通过木桩B全部搬到木桩C,如图1所示。

木桩A木桩B木桩C木桩A木桩B 木桩C图1在移动过程中,必须按照下述移动规则:1.直径较小的圆盘永远置于直径较大的圆盘上;2.圆盘可任意地由任何一个木桩移到其他的木桩上; 3.每一次仅能移动一个圆盘。

假设现在有三个木桩A 、B 、C ,在木桩A 上,由大到小依次放置了三个中空的圆盘,则按照上述的移动规则,其移动的过程如图2所示:图2(a) initial(1)A →C(2)A →B (3)C →B (4)A →C (5)B →A(6)B →C(7)A →C因此当N=3时,移动次序如下:(1) 从木桩A 将圆盘1移动到木桩C 。

C语言程序设计综合实训题目

C语言程序设计综合实训题目

一、参考题目及选题(1)学生信息管理系统设计问题描述:学生信息包括:学号,姓名,年龄,性别,出生年月,政治面貌,籍贯,家庭住址,电话,E-mail等。

试设计一学生信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)学生信息录入功能(学生信息用文件保存)(3)学生信息浏览功能(4)学生信息排序、查询功能对信息进行排序,可以按学号,按姓名,按性别,按出生年月日,按籍贯进行查询(5)信息统计a)可以按性别,按出生年,按籍贯统计学生人数b)可以按班级统计学生人数c)可以按政治面貌统计学生人数按班级统计学生党员人数,团员人数,以及所占比例,设计并输出统计报表。

(6)学生信息的删除与修改设计要求:●界面比较美观;●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入;●最好用链表的方式实现。

算法分析:首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。

对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。

文件的读写操作大家参照书中的有关文件的章节。

(2)、学生综合测评系统每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。

考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。

A、学生信息处理(1)输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。

C程序设计实训题目--13计算机类专科

C程序设计实训题目--13计算机类专科

亲爱的同学们:很高兴继《高级程序设计》之后,这学期再和大家一起完成《C语言》的课程设计。

下面为大家提供了三个课程设计的题目,里面包含相应的程序要求和实训报告的内容要求,同学们只需要在三道题目中选择一个来完成。

前两个题目可通过数组和函数来实现(不是唯一方法),第三个题目涉及到结构体的知识。

希望同学们在上学期学习的基础上,参考课本和相关资料完成,6月15号之前上交实训报告打印版。

附件1C程序设计实训题目题目一:学生成绩统计程序功能及要求:1.从键盘输入一个班(全班最多不超过30人)学生某门课的成绩(包括学号和成绩两部分),当输入成绩为负值时,输入结束;2.数据输入前须有提示(如:Please enter num and score until score<0:)3.数据输入后统计不及格人数并打印不及格学生名单;4.统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单(名单包括学号和成绩);5.统计各分数段的学生人数及所占的百分比。

呈交完整的实训报告,实训报告包括:1) 系统分析2) 模块设计(包括各函数模块的设计思路、流程图)3) 重点和难点分析(设计中的重点和难点问题及其处理办法)4) 程序源代码5)总结和体会题目二:成绩排名次程序某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。

设计该程序的功能及要求:1.输入学生的学号,数学、英语和物理的成绩(数据输入前应有输入提示);2.计算每个学生的总分和平均分;3.按总分成绩由高到低排出成绩的名次;4.打印出名次表,表格内包括学生编号、各科分数、总分和平均分;5.任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。

呈交完整的实训报告,实训报告包括:1) 系统分析2) 模块设计(包括各函数模块的设计思路、流程图)3) 重点和难点分析(设计中的重点和难点问题及其处理办法)4) 程序源代码5)总结和体会题目三:个人所得税计算程序功能及要求:1.输入一个员工的工资(数据输入前应有输入提示);2.根据个人所得税税率表,计算出该员工应缴的个人所得税;3.继续读入下一个员工的工资。

c语言程序设计上机答案

c语言程序设计上机答案

c语言程序设计上机答案C语言程序设计是一门实践性很强的课程,上机练习是掌握C语言编程技能的重要环节。

以下是一些常见的C语言上机练习题目及其参考答案,供学习者参考。

1. 打印“Hello, World!”```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 计算两个数的和```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("%d + %d = %d\n", a, b, sum);return 0;}```3. 判断一个数是否为素数```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); ++i) { if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

\n", num);} else {printf("%d 不是素数。

\n", num); }return 0;}```4. 计算圆的面积```c#include <stdio.h>#include <math.h>double calculateArea(double radius) {return M_PI * radius * radius;}int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = calculateArea(radius);printf("半径为 %f 的圆的面积是:%f\n", radius, area); return 0;}```5. 字符串反转```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int length = strlen(str);for (int i = 0; i < length / 2; ++i) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```6. 计算阶乘```c#include <stdio.h>unsigned long long factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个非负整数:");scanf("%d", &num);printf("%d 的阶乘是:%llu\n", num, factorial(num)); return 0;}```7. 排序算法(冒泡排序)```c#include <stdio.h>void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; ++i) {for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);bubbleSort(arr, n);printf("排序后的数组是:\n");for (int i = 0; i < n; ++i) {printf("%d ", arr[i]);}printf("\n");return 0;}```8. 寻找最大值```c#include <stdio.h>int findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; ++i) {if (arr[i] > max) { max = arr[i]; }}return max;。

C语言课程实训题目

C语言课程实训题目

1.学生学籍管理 (2)2.通讯录管理 (2)3.酒店房间登记管理 (2)4.职工信息管理 (3)5.销售管理 (3)6.银行账户信息管理 (3)7.商品销售管理 (4)8.设备管理 (4)9.飞机订票 (5)10.仓库管理 (5)11.学校运动会管理 (5)12.教师工作量管理 (6)13.学生证管理程序 (6)14.学分管理程序 (6)15.图书登记管理程序 (7)16.学生作业完成情况管理程序 (7)17.宿舍管理系统 (7)18.图书租借管理系统 (8)19.车票管理系统 (8)20.学校职工工资管理系统 (8)1.学生学籍管理问题描述:已知程序要求管理的学生信息包括:学号,姓名,系别、班级,年龄,性别,入学时间。

设计一程序,完成以下功能:1)能从键盘输入学生的信息2)能从指定的文件中读入学生的信息3)能学号查询学生的基本信息4)能删除指定学号的学生信息5)能修改指定学号的学生信息6)能将学生信息保存在指定的文件中2.通讯录管理问题描述:已知程序要求通讯录的信息为:姓名、性别、电话号码、类别、电子邮件,设计一程序,完成以下功能:1)能从键盘输入通讯录的信息2)能从指定的文件中读入通讯录的信息3)能按姓名查询通讯录的信息4)能按分类查询通讯录的信息5)能删除指定姓名的通讯录的信息6)能修改指定姓名的通讯录信息7)能将通讯录信息保存在指定的文件中3.酒店房间登记管理问题描述:已知在酒店中有10个房间,设计一程序,完成以下功能:1)能从文件导入旅客入住信息2)能从键盘输入客户的入住信息(包括:客户姓名,身份证号,开始入住时间、退房时间、入住房间号)3)能根据房间号查询住宿信息4)能根据身份证号查询住宿信息5)能根据身份证号、住宿时间修改入住信息6)能根据身份证号、住宿时间删除入住信息7)能将住宿信息导入到指定的文件中4.职工信息管理问题描述:已知职工信息包括职工号、姓名、性别、出生日期、学历、职称、住址、电话等。

单片机C语言程序设计实训100例--基于

单片机C语言程序设计实训100例--基于
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--;);
}
}
//主程序
void main()
0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,
0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,
0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

C语言程序设计实践实验题目

C语言程序设计实践实验题目

实验题目:循环结构程序设计实验目的:1.熟悉VC++6.0的运行环境,掌握C程序的执行方法;2.掌握三种基本数据类型、部分运算符号和常用函数;3.掌握三种循环控制语句及break和continue语句的使用方法;4.掌握循环结构的嵌套及正确控制计数型循环结构次数的方法。

实验内容:程序1:搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次搬完,问男、女和小孩各若干?#include “stdio.h”main(){int men,women,children;men=0;while(men<=8){women=0;while(women<=11){children=36-men-women;if((men*4+women*3+children/2= =36)&&children%2= =0)printf(“men=%d,women=%d,children=%d\n”,men,women,children);women++;}men++;}}程序2 打印形状为直角三角形的乘法口诀。

#include "stdio.h"main(){int i,j,result;for (i=1;i<10;i++){ for(j=1;j<i;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}}程序3 求1000以内的所有素数。

#include “stdio.h”main( ){int m,i;for(m=2;m<=100;m++){ for(i=2;i<=m-1;i++)if(m%i==0) break;if(i>m-1) printf("%5d",m);}}程序4:计算和统计旅客运费程序。

c语言程序设计实验题答案

c语言程序设计实验题答案

c语言程序设计实验题答案【篇一:c语言程序设计及实验指导练习及习题参考答案(8--10)】8练习参考答案1、练习8-1. 如果有定义:int m, n = 5, *p = m; 与m = n 等价的语句是 b 。

a.m = *p; b. *p = *n; c. m = n; d. m = **p;8-2. 设计一个程序计算输入的两个数的和与差,要求自定义一个函数sum_diff(float op1, float op2, float *psum, float *pdiff),其中op1 和op2 是输入的两个数,*psum 和*pdiff 是计算得出的和与差。

解答:#include stdio.hint main (void){float op1, op2, sum, diff;void sum_diff(float op1, float op2, float *psum, float *pdiff);printf(“input op1 and op2: “);scanf(“%f%f”, op1, op2);sum_diff(op1, op2, sum, diff);printf(“%f+%f=%f; %f-%f=%f \n”,op1,op2,sum,op1,op2,diff);return 0;}void sum_diff(float op1, float op2, float *psum, float *pdiff){*psum = op1 + op2;*pdiff = op1 – op2;}8-3. 两个相同类型的指针变量能不能相加?为什么?解答:不能。

因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在c 语言中指针变量相加是非法的。

8-4. 根据表8.2 所示,这组数据的冒泡排序其实循环到第6 遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1 次循环。

C语言程序设计实训教程习题和实验解答

C语言程序设计实训教程习题和实验解答

C语言程序设计实训教程习题和实验解答C语言概述1.【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。

或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

有穷性:一个算法应包含有限的操作步骤而不能是无限的。

确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的,有零个或多个输入输出,有一个或多个输出。

有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。

对于程序设计人员,必须会设计算法,并根据算法写出程序。

可以用自然语言、流程图、伪代码和计算机语言表示算法。

3.C语言的主要特点有:语言简洁、紧凑,使用方便、灵活。

ANSI C一共只有32个关键字;控制语句丰富,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;运算符丰富,共有34种;数据结构类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。

因此有人把它称为中级语言;生成目标代码质量高,程序执行效率高;与汇编语言相比,用C语言写的程序可移植性好。

4.用传统流程图表达如下:数据类型与表达式1.【习题解答】一、选择题1.C2.B3.A4.B5.A6.B7.D8.B9.D 10.C二、填空题1.整型、实型、字符型、枚举类型2.3.0000003.逗号运算符4.三,自右向左5.1,06.32767三、编程题1.已知球的半径为1.5cm,计算球的体积。

#include <stdio.h>void main(){float r=1.5,volume;volume=4.0/3*r*r*r;printf(“%f\n”,volume);}2.输入两个数a和b,求a除以b的商和余数?#include <stdio.h>void main(){int a,b,c,d;scanf(“%d,%d”,&a,&b);c=a/b;d=a%b;printf(“%d,%d”,c,d);}3.输入三个学生的成绩,求这三个学生的总成绩和平均成绩。

c语言实训题目

c语言实训题目

c语言实训题目(赵莹莹)题目1 学生学籍管理系统.................................................................. 错误!未定义书签。

题目2 学生选课管理系统.................................................................. 错误!未定义书签。

题目3 冒泡排序的实现与演示.......................................................... 错误!未定义书签。

题目4 汉诺塔的实现与演示.............................................................. 错误!未定义书签。

题目5 简易通讯录.............................................................................. 错误!未定义书签。

题目6:图书管理系统.......................................................................... 错误!未定义书签。

题目7:计算器的实现.......................................................................... 错误!未定义书签。

题目8:工资管理系统.......................................................................... 错误!未定义书签。

题目9 :职工信息管理系统................................................................ 错误!未定义书签。

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

C语言程序课程设计题目题目1:年历显示功能要求:(1)输入一个年份,输出是在屏幕上显示该年的日历。

假定输入的年份在1940-2040年之间。

(2)输入年月,输出该月的日历。

(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。

题目2:小学生测验面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

功能要求:(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”。

题目3运动会比赛计分系统要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;功能要求:(1)系统以菜单方式工作(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。

(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩(4)查看参赛学校信息和比赛项目信息等。

题目4:学生学籍管理系统(限2人)用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。

(用文件保存)功能要求:(1)系统以菜单方式工作。

(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;(3)删除已知学号的学生信息;(4)查找已知学号的学生信息;(5)按学号,专业输出学生籍贯表。

(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。

题目5:排班系统学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。

由于工作需要进行轮休制度,一星期中每人休息一天。

预先让每一个人选择自己认为合适的休息日。

请编制程序,打印轮休的所有可能方案。

当然使每个人都满意,例如每人选择的休息日如下:钱:星期一、星期六赵:星期二、星期四孙:星期三、星期日李:星期五周:星期一、星期四、星期六吴:星期二、星期五陈:星期三、星期六、星期日运行结果:Solution:1赵钱孙李周吴陈=============================================================星期四星期一星期三星期五星期六星期二星期日Solution:2赵钱孙李周吴陈=============================================================星期四星期一星期日星期五星期六星期二星期三Solution:3赵钱孙李周吴陈=============================================================星期四星期六星期三星期五星期一星期二星期日Solution:4赵钱孙李周吴陈=============================================================星期四星期六星期日星期五星期一星期二星期三题目6:通讯录程序设计(限2人)设计一个实用的小型通讯录程序,具有添加,查询和删除功能。

由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。

电话号码可由字符和数字组成。

(用文件保存)实现功能:(1)系统以菜单方式工作(2)信息录入功能(3)信息浏览功能(4)信息查询功能(5)信息修改功能(6)系统退出功能题目7:学生选课系统(限2人)假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。

试设计一个选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作(2)课程信息和学生选课信息录入功能(课程信息用文件保存)(3)课程信息浏览功能(4)查询功能(5)按学分查询(6)某门课程学生选修情况(可选项)题目8:机房收费管理系统(限2人)(1)输入功能:输入30名学生的学号、班级、姓名、上机起始时间。

(2)计算功能:计算每个下机学生的上机费用,每小时1元。

(上机费用=上机时间*1.0/h,不足一小时按一小时计算)(3)查询功能:按条件(班级、学号、姓名)显示学生的上机时间。

(4)机器使用情况的显示(显示方式不限但要一目了然)题目9:班级成绩管理系统(限2人)对一个有N个学生的班级,每个学生有M门课程。

该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。

(用文件保存)功能要求:(1)本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。

(2)本系统显示这样的菜单:请选择系统功能项:a、成绩录入b、成绩显示c、成绩保存d、成绩排序e、成绩修改(要求先输入密码)f、成绩统计1)显示每门课程成绩最高的学生的基本信息2)显示每门课程的平均成绩3)显示超过某门课程平均成绩的学生人数g、退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。

(4)将学生成绩保存到文件中。

题目10:机房机位预定系统(限2人)20台机器,编号1到20,从早八点到晚八点。

两小时一个时间段,每次可预定一个时间段。

功能要求:(1)系统以菜单方式工作(2)查询,根据输入时间,输出机位信息。

(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。

(4)退出预定,根据输入的时间,机器号撤销该事件的预定!(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。

题目11:班级档案管理系统(限2人)对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。

功能要求:(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。

(2)本系统显示这样的菜单:请选择系统功能项:a学生基本信息录入b学生基本信息显示c学生基本信息保存d学生基本信息删除e学生基本信息修改(要求先输入密码)f学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询g.退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。

(4)将学生基本信息保存到文件中。

(5)进入系统之前要先输入密码。

题目12:职工工资管理系统(限2人)功能设计要求1.输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。

该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。

2.显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。

3.修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。

4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。

5.删除记录:可删除数据文件中的任一记录。

6.统计:(A)计算各项工资平均工资及总工资,(B) 统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元)以内的工资职工人数及占总职工人数的百分比。

(C)按字符表格形式打印全部职工工资信息表及平均工资( 包括各项总的平均工资)。

7.保存数据文件功能。

例如:职工工资信息表ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01张望1286794198109135203402李明118562813594114174003王小民895438986473129404张效章1350868210116150216205彭山7453988461681098⋯⋯⋯⋯⋯⋯⋯⋯各项平均工资1092.2625.214588.8108题目13:工资纳税系统个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。

个人所得税税率表一(工资、薪金所得适用)级数----------全月应纳税所得额----------税率(%)1--------------不超过500元的--------------------------52----------超过500元至2000元的部分------------103----------超过2000元至5000元的部分----------154----------超过5000元至20000元的部分---------205----------超过20000元至40000元的部分-------256----------超过40000元至60000元的部分-------307----------超过60000元至80000元的部分-------358----------超过80000元至100000元的部分------409----------超过100000元的部分---------------------45表中的应纳税所得额是指以每月收入额减除1600元后的余额。

例如:计算为:2500-1600=900应纳个人所得税额=500×5%+400×10%=65再比如:我们用一个大额工资计算,25000元应纳税所得额=25000-1600=23400应纳个人所得税税额=500×5%+1500×10%+3000×15%+15000×20%+3400×25%=4475要求:输入工资计算出纳税金额。

题目14:歌手比赛系统对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。

2、显示主菜单如下:1)输入选手数据2)评委打分3)成绩排序(按平均分)4)数据查询5)追加学生数据6)写入数据文件7)退出系统。

题目15:用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B。

需要注意的是:A和B的每一位数字由对应的英文单词给出。

具体的输入输出格式规定如下:输入格式:测试输入包含若干测试用例,每个测试用例占一行,格式为"A+B=",相邻两字符串有一个空格间隔。

相关文档
最新文档