C程序设计实践题目
- 格式:doc
- 大小:39.50 KB
- 文档页数:4
实验1 C++基础6.编写程序,输入某大写字母的ASCII码值,输出该字母的对应小写字母。
#in clude<iostream>using n amespace std;int mai n(){int i;cin> >i;if(i>=65 && 1<=90 )cout<<char(i-'A'+'a')vve ndl;elsecout«"输入有误"<<endl;} return 0;实验2三、实验思考1.输入直角三角形的两条直角边长,调用平方根库函数sqrt来求斜边的长度#in clude<iostream>#in clude<cmath>using n amespace std;int mai n(){ float a,b,c;coutvv"请输入直角三角形的两条边长:";cin> >a>>b;c二sqrt(a*a+b*b);cout«"直角三角形的斜边="<<c<<endl;return 0;}2 •从键盘输入一个字符,如果输入的是英文大写字母,则将它转换成小写字母后输出,否则输出原来输入的字符。
#in clude<iostream>using n amespace std;int mai n(){char c;1coutvv"请输入一个字符:";cin> >c;if(c>='A'&& c<='Z')c+='a'-'A';coutvvcvve ndl;return 0;3•输入一个学生的成绩,如高于60分,贝V输出“ pass” ;否则,输出“failed ”。
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程序的编辑、编译、连接和运行题目:编写程序,要求屏幕上显示如下信息:************************ 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,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
1数据处理系统一、软件开发目的该软件主要是使用C语言设计开发数据处理程序,实现对数据的排序、查找、插入、计算、输出等功能。
二、数据结构定义一个11*10的二维数组。
三、软件功能说明1.生成100个随机数:调用库函数rand()或random()产生100个随机数,并存储在二维数组中的前十行。
2.选择法排序:用选择法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
3.冒泡法排序:用冒泡法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
4.插入法排序:用插入法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
5.查找数据:输入待查找数据, 在二维数组中逐个查找,若找到输出数据所在位置的行列号,若无该数值则输出“无此数”。
6.转换二进制:将数组中数据转换为二进制并转存到另一数组中输出。
7.转换为素数之和:对于原数组中的数进行判断:若为偶数,则表示成两个素数的和,并输出。
8.插入数据:输入一个数,将该数插入原数组中,使数组中的数仍然按从小到大排序,将数组中数据按从小到大顺序输出。
9.删除数据输入一个数,若原数组中存在该数,则删除该数,使数组中的数仍然按从小到大排序,将数组中数据按从小到大顺序输出。
10.退出系统,结束任务。
四、软件验收标准1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。
系统菜单功能项:1生成100个随机数2选择法排序3冒泡法排序4插入法排序5查找数据6转换二进制7转换为素数之和8插入数据9删除数据10退出系统注意:要求每执行一个具体的功能之后,程序将重新显示菜单。
2.系统要有一定的可靠性、稳定性,能够实现各功能模块。
2图书借阅管理系统一、软件开发目的该软件主要是使用C语言设计开发一个简单的图书借阅管理系统,实现对图书的借书,还书的管理和数据统计。
北京建筑工程学院计算机教学与网络信息部C语言程序设计基础实验补充题——循环结构部分1.养兔子/acmhome/problemdetail.do?&method=showdetail&id=1063题目描述:一对成熟的兔子每月能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是一个月,而成熟后的第二个月才开始生小兔。
某人领养了一对小兔子,一公一母,请问,第N个月以后,他将会得到多少对兔子。
输入:测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输入以0结束。
输出:对应输出第n个月有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。
样例输入:12样例输出:122.找零钱/acmhome/problemdetail.do?&method=showdetail&id=1068题目描述:我们知道人民币有1、2、5、10、20、50、100这几种面值。
现在给你n(1≤n≤250)元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。
比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。
输入:输入有多组,每组一行,为一个整合n。
输入以0结束。
输出:输出该面额有几种表示方法。
样例输入:14样例输出:13提示:如果我告诉你,这题是用暴力穷举的方法,你能通过吗?^_^3.漂亮菱形/acmhome/problemdetail.do?&method=showdetail&id=1069题目描述:*************************上面的菱形漂亮吗?现给出菱形的高度,要求你打印出相应高度的菱形,比如上面的菱形高度为7。
输入:测试数据包括多行,每行1个整数h,h为奇数,代表菱形的高度。
输入以0结束。
输出:输出每组对应的菱形。
样例输入:17样例输出:**************************4.统计1到N之间数字1的个数/acmhome/problemdetail.do?&method=showdetail&id=1163题目描述:N为正整数,计算从1到N的所有整数中包含数字1的个数。
2.6.3同步自测C语言程序设计实验与习题指导习题答案2.6.3 同步自测一、选择题1.在C程序的函数调用时,主调函数中的实参和被调函数中的形参(B)。
(A)个数、次序必须相同,但数据类型可以不考虑(B)个数、次序和对应参数的数据类型都应该相同(C)个数、次序和数据类型均可以不相同(D)对应参数数据类型应相同,但个数和次序可以不考虑2.以下程序的输出结果是(C)。
int x=3,y=4;void main( ){ int x,y=5;x=y++;printf("%d",x);}表达式(A)3 (B)4 (C)5 (D)63.在C语言中,函数默认的存储类型为(A)。
(A)auto (B)register (C)static (D)extern4.执行下面的程序后,变量a的值是(B)。
#include#define SQR(X) X*Xvoid main(){ int a=10,k=2,m=3;a/=SQR(m)/SQR(k);printf("%d\n",a);}(A)10 (B)1 (C)5 (D)05.一个C程序的执行是从(A)。
(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束6.以下有关宏替换的叙述不正确的是(D)。
(A)宏替换不占用运行时间(B)宏名无类型(C)宏替换只是字符串替换;(D)宏替换是在运行时进行的7.设有以下宏定义:#define N 3#define Y(n) (N+1*n)则执行语句:z=2*(N*Y(5+1)); 后,z的值为(A)。
(A)30 (B)72 (C)48 (D)548.在C语言中,以下叙述错误的是(C)。
(A)函数被调用时,系统才为形参分配内存(B)实参和对应形参的数据类型必须一致(C)实参可以是变量、常量或表达式(D)形参可以是变量、常量或表达式9. 一个数据类型为void的函数中可以没有return语句,那么函数的被调用时(A)。
C语言程序设计(第三版)习试题(库)答案解析C语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。
请编程序。
#include main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(__”%f”__,&r);scanf(”%d”,__&h_);;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f”,Cl,Sa ,Sb,Va,Vb);}2、输入一个华氏温度,要求输出摄氏温度。
公式为c=5(F-32)/9输出要求有文字说明,取位2小数。
#includemain(){float F,c;scanf("%f",&F);____c=5*(F-32)/9______;printf("c=%.2f",c);}3、有一函数:??≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。
#includemain(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (____x<10_______){ /* 1≤x-10 */_____y=2*x-1_______;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x ≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x# include "stdio.h" main(){int x,y;scanf("%d",&x);{ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}# include "stdio.h" main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d\n",y);}# include "stdio.h" main(){scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;} # include "stdio.h" main() {int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=1 && x<10)y=2*x-1;elsey=3*x-11;printf("%d",y);},y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。
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语言程序设计试题含答案(一)一、填空题1.以下程序输入3个整数值给a,b,c,变量b中的'值给a,变量c中的值给b,变量a中的值给c,交换后输出a,b,c的值。
#include stdio.hmain(){ int a,b,c,__①_d___;printf("enter a,b,c");scanf("%d%d%d",a,b,c);___d=a_②____;__a=b_③_____;____b=c④_____;_c=d__⑤_____;printf("%d,%d,%d",a,b,c);}2.求出200以内的整数中,最大的可以被17整除的数是哪个数。
#include stdio.h___①main()____{int i;for(_i=200___②____;___③i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i20;i++) scanf("%d", __①_a[i]__ );for(i=0;__ ②_i20_;i++)? { if(a[i]0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。
请填空。
int fun( int n){ int m=0,i;for(i=__1_①___; i=n; _i++_②____){m=_m+i__③____;}return _④__m__;}main(){ printf("m=%d\n", __⑤__ fun(10)_); }5.以下程序将数组中的数据按逆序存放。
《C程序设计实践》题目
A1: 设计一个菜单程序,选择数字键1~3分别在屏幕输出“正三角形”、“菱形”和“平行四边形”,选择其他数字结束操作并回到输入界面。
要求:(1)主函数菜单设计(2)每个图形单独是一个函数,即三个子函数。
A2: 字符左右排序。
以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组中。
排序条件:将字符串从中间一分为二,右边部分按字符的ASCII码升序排序,排序后左边部分与右边部分进行交换。
如果原字符串长度为奇数,则最中间的字符不参与处理,仍放在原位置上。
例如,原字符串:
hgfedcba
876594321
则处理后字符串:
abcdhgfe
123498765
要求(1)子函数Exch()实现左右部分交换
(2)子函数Sort():完成排序功能
A3: 循环输入任意三位正整数,判断该三位数是否等于其每位数字的阶乘之和,直到输入999为止。
要求:调用函数判断该三位数是否等于其每位数字的阶乘之和
A4: 求兔子问题。
第1年有1对兔子,每对兔子从出生后第3个年起,就可每年生1对兔子,兔子的寿命是6年,问第n年有多少对兔子?
要求:调用函数计算兔子数量
A5. 输入一个正整数(短整数)、计算输出该数的各位数字之和,各位数字的平均和、反复执行、直到输入的数为999为止。
要求:(1)将各位数字存于数组中
(2)分别调用子函数计算各位数字之和,各位数字的平均和。
A6. 从键盘上输入一个字符串(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆序输出。
要求:(1)调用子函数实现将字符串中的大写字母改为小写字母
(2)调用子函数实现逆序输出功能
A7. 有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
要求:(1)调用子函数计算天数
A8. 计算任意多个三个数的最大公约数,直到输入999为止。
要求:(1)调用子函数求最大公约数
A9. 输入一行字符串,将字符串中所有下标为偶数位置上的字母转换为大写。
要求:(1)调用子函数实现转换功能
A10有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。
问第4个人多少岁,他说比第3个人大2岁。
问第3个人多少岁,他说比第2个人大2岁。
问第2个人多少岁,他说比第1个人大2岁。
问第1个人多少岁,他说是10岁。
请问第5个人多大?
要求:用递归实现
A11. 从键盘上输入一个字符串(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆序输出。
要求:(1)调用子函数实现将字符串中的大写字母改为小写字母
(2)调用子函数实现逆序输出功能
A12.写出满足不等式1+1/2+1/3+1/4+…1/N>15最小的N值并输出。
A13. :给定某个年、月、日,计算出这一天为该年的第几天。
要求:(1)用子函数实现闰年的判断
(2)用子函数实现日期的计算
A13.找出满足以下条件三位数n,它除以11所得到的商等于n的各位数字的平方和,且其中至少有两位数字相同。
如:131 131/11=11 12+32+12=11
要求:(1)调用子函数计算n的各位数字的和
(2)调用子函数进行判断并输出
A14.输入一行字符串,将字符串中所有下标为偶数位置上的字母转换为大写。
要求:(1)调用子函数实现转换功能
B1、从键盘输入字符串,将其中的单词(两个空格之间的字符串)的第一个字母转换为其后一个字母(如第一个字母为a,则将其转换为b,如第一个字母为z,则将其转换为a),输出原始字符串及转换后的所有单词,直到输出“*”结束转换和输出。
要求:转换功能由单独的函数完成。
B2:候选人得票的统计。
设有三个候选人,每次输入一个得票的候选人的编号,共有n个人参加投票,最后输出各人得票结果。
要求:有子函数的调用过程
B3.部分排序
要求:
(1)编制子函数 Sort();
(2)对任意几个在1000~9999之间的数;
(3)按每个数的后三位的大小进行降序排列;
(4)取出满足此条件的前5个数依次存入数组mm中,如果后三位的数值相等,则按原先的数值进行升序排列。
例如:处理前:6012 5099 9012 7025 8088
处理后:6012 9012 5099 8088 7025
B4.统计符合特定条件的数
要求:
(1)从键盘随机敲入n个4位数,并把这些数存入数组a中;
(2)编写一个函数,其功能是如果4位数各位上的数字是偶数,统计出满足
此条件的个数;
(3)这些4位数按从大到小的顺序输出;
B5、编写一个函数fun(str),使主程序调用它实现以下功能:循环统计由实参传来的一个字符串中的字母、数字、空格和其他字符的个数,直到输入的字符串为999。
要求:例输入:
Hello Harbin $$$123
输出:
字母个数:11
数字个数:3
空格个数:2
其他字符个数:3
B6: 有一个一维数组,内放n个学生成绩,输出各分数段人数、平均分、最高分和最低分,保留小数点后一位。
要求:(1)分数段人数、平均分、最高分和最低分分别由三个或四个子函数完成。
(2)保留小数点后一位
B7.编写函数int fun(int x, int *pp),其功能是,求出能整除x且不是偶数的各整数,并按照从小到大的顺序放在pp指向的内存中,函数返回值为这些整数的个数。
若x的值为30,数组中的数为1,3,5,15,函数返回4。
要求:(1)输出原数组、满足条件的数组和和个数
注:B类题目(红色)基础分数比A类题目(黑色)。