中北大学C语言设计思想报告Word下载.docx
- 文档编号:18058995
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:18
- 大小:25.43KB
中北大学C语言设计思想报告Word下载.docx
《中北大学C语言设计思想报告Word下载.docx》由会员分享,可在线阅读,更多相关《中北大学C语言设计思想报告Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
实现对设备的插叙需要提供查找操作,设备的查询可根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询;
另外还要提供键盘式选择菜单以实现功能选择。
2.程序设计思路
根据需求分析,可将系统的设计分为四个模块:
输入模块,修改模块,统计模块,查询模块;
实验室设备信息用文件存储,提供文件的输入输出;
建立实验设备信息结构体,结构体成员包括:
设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。
(1)主函数设计
主函数提供输入,处理,输出部分的函数调用,其中各功能模块用菜单方式选择,即主函数里显示一系列功能选项,判断后,是否调用个功能模块用了switch()选择功能。
(2)各功能模块设计
输入模块:
定义了文件型指针变量,打开文件输入用户要输入设备的个数,输入设备的各项详细信息,将输入的信息存储到文件的中;
用到fopen(文件名,使用文件方式);
fclose(文件指针);
fprintf(文件指针,格式字符串,输出列表)。
修改模块:
输入要修改的设备编号,是否找到该设备资料,如果找到记录,调用修改函数,对该设备的信息进行修改;
如果没有找到,返回主菜单。
在寻找的过程中用了字符串的比较strcmp(字符串1,字符串2),如果字符串1=字符串2,则函数值为0。
如果字符串1&
gt;
字符串2,则函数值为一个正整数。
lt;
字符串2,则函数值为一个负整数。
比较时,只能用if(strcmp(str1,str2)&
0)。
还用到feof()若到文件末尾,函数值为“真”。
统计模块:
打开文件,并对文件中的设备信息进行统计计算类型数目,总价格,平均价格;
此程序中将char类型转化成double型,用到了pc=atof();
fscanf(文件指针,格式字符串,输入列表);
同样也用到了字符串的比较strcmp(字符串1,字符串2),feof()。
查询模块:
询问用户想要选择的搜索方式,分三种类型查询(设备名称,设备型号,设
备价格),再用switch()的选择功能,每一种类型有用到了feof()控制循环,字符串的比较strcmp(字符串1,字符串2),
3.功能模块图
(1)输入模块
(2)修改模块
(3)统计模块
(4)查询模块篇二:
中北大学c语言答案
一、选择题
cdccdabdaca
二、填空题
1.二进制数、程序存储控制
2.733b59
3.111010116575
4.11011010.1
5.10241024
6.802bffd4ffd54f4f4f
7.6553532768-1-63768
8.ascii码
9.硬件系统、软件系统
10..c.obj.exe
11.英文字母、数字、下划线、字母或下划线
12.main()、函数体
第二章
bcacaabadd
1.a=-0438a=b-a=3
3.a、\n\t
4.452、5、2、0、26
5.2011,9,2021
6.(x*x+y*y)/(x-y)3.14*r*r*r*3/48*(x+9*(10*(7-y)+20))
第三章
dbdacabcc
二、填空题
5.scanf(“%f”,&
amp;
r);
printf(“%f”,s);
一、选择题
dbcdadaa
4.c=getchar()c&
=?
0?
&
c&
9?
c&
a?
z?
c?
5.op?
-?
break
6.x:
yu:
z
7.c==tc&
tc&
=50
第五章
aadcadaadd
6.m%10m/10
7.f*q
8.fac=fac*(i+1)*(i+2)fabs(xn/fac)
9.s=s+js==i
10.i&
10j%3!
=0
11.j=1k&
=6
12.100-5*i-2*jk&
=0
第六章
cdbdbddaabaa
7.intfun(int);
returnm;
8.doubles1,s2;
returnv;
第七章
abcaaa
6.num=*b;
num=*c;
dca篇三:
c语言中北大学
1,输入两个正整数m和n,求其最大公约数和最小公倍数。
main()
{inta,b,num1,num2,temp;
printf(pleaseinputtwonumbers:
\n);
scanf(%d,%d,&
num1,&
num2);
if(num1{temp=num1;
num1=num2;
num2=temp;
}
a=num1;
b=num2;
while(b!
=0)
{temp=a%b;
a=b;
b=temp;
printf(gongyueshu:
%d\n,a);
printf(gongbeishu:
%d\n,num1*num2/a);
}
2.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#includestdio.h
{charc;
intletters=0,space=0,digit=0,others=0;
printf(pleaseinputsomecharacters\n);
while((c=getchar())!
=\n){if(c&
=a&
=z||c&
=z)letters++;
elseif(c==)
space++;
elseif(c&
=0&
=9)
digit++;
else
others++;
printf(allinall:
char=%dspace=%ddigit=%dothers=%d\n,letters,
space,digit,others);
3.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
main()
{inta,n,count=1;
longintsn=0,tn=0;
printf(pleaseinputaandn\n);
a,&
n);
printf(a=%d,n=%d\n,a,n);
while(count&
=n)
{tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
printf(a+aa+...=%ld\n,sn);
}
4.利用条件运算符的嵌套来完成此题:
学习成绩&
=90分的同学用a表示,60-89分之间的用b表示,60分以下的用c表示。
{
intscore;
chargrade;
printf(pleaseinputascore\n);
scanf(%d,&
score);
grade=score&
=90?
a:
(score&
=60?
b:
c);
printf(%dbelongsto%c,score,grade);
5.}输入两个正整数m和n,求其最大公约数和最小公倍数。
6输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#includestdio.h
{charc;
intletters=0,space=0,digit=0,others=0;
=\n){
if(c&
=z)
letters++;
elseif(c==)
else
7.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
{inti,j,k;
printf(\n);
for(i=1;
i&
5;
i++)for(j=1;
j&
j++)
for(k=1;
k&
k++)
{if(i!
=k&
i!
=j&
j!
=k)printf(%d,%d,%d\n,i,j,k);
}}
8.一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
{floatsn=100.0,hn=sn/2;
intn;
for(n=2;
n&
=10;
n++){sn=sn+2*hn;
hn=hn/2;
printf(thetotalofroadis%f\n,sn);
printf(thetenthis%fmeter\n,hn);
9.有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
main(){intn,t,number=20;
floata=2,b=1,s=0;
for(n=1;
=number;
n++){s=s+a/b;
t=a;
a=a+b;
b=t;
}printf(sumis%9.6f\n,s);
10.求1+2!
+3!
+...+20!
的和
main(){floatn,s=0,t=1;
=20;
n++)
{t*=n;
s+=t;
}
printf(1+2!
...+20!
=%e\n,s);
11.把字符串a复制给字符串b。
main(){chara[]=”helloworled”:
charb[20];
char*p1,*p2;
p1=a;
p2=b;
for(;
*p1!
=’\0’;
p1++,p2++)
*p2=*p1;
*p2=’\0\;
printf(“a;
%s\nb:
%s\n”,a,b);
12.编程c语言1/2+3/4+4/5....+99/100
#include&
stdio.h&
voidmain()
{intsum=0,n;
=100;
n++){if(n%2==1)sum=sum+n;
elsesum=sum-n;
printf(sum=%d\n,sum);
13.求解方程ax2+bx+c=0的值
#include&
stdlib.h&
math.h&
intmain()
{floata,b,c,delta;
printf(pleaseinputabc:
);
scanf(%f,&
a);
b);
if(a==0&
b==0&
c==0)
printf(000\n);
else
{delta=(float)b*b-4*a*c;
if(delta&
0)
printf(111\n);
printf(thetworoots
are%f%f\n,(sqrt((float)delta)-b)/(2*a),(-sqrt((float)delta)-b)/(2*a));
14.输出9*9乘法表
{inti=1;
for(i;
=9;
i++)
{printf(“%d*%d=5d”,i,j,i*j);
printf(“\n”);
}}
15.输入三个数字,输出他们的最大值。
voidmain(){inta,b,c,d;
scanf(%d,%d,%d,&
b,&
d=max(a,b,c);
printf(max=%d,d);
getch();
intmax(intx,inty,intz){intu;
if(x&
=y&
x&
=z)u=x;
elseif(y&
=x&
y&
=z)u=y;
elseu=z;
return(u);
16.求两点间的距离
floatdis(floatx1,floaty1,floatx2,floaty2)
{return(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
}voidmain()
{floatx1,x2,y1,y2;
printf(input(x1,y1):
scanf(%f%f,&
x1,&
y1);
printf(input(x2,y2):
x2,&
y2);
printf(thedistanceis%f\n,dis(x1,y1,x2,y2));
17.求n!
longintfun(longx)
{if(x==1l)return1;
elsereturn(fun(x-1)*x);
voidmain(){longintn;
printf(enteranumber(n&
0):
scanf(%ld,&
printf(%ld!
=%ld\n,n,fun(n));
1.,输入两个正整数m和n,求最大公约数和最小公倍数
2.输入一行字符,统计出其中英文字母、空格、数字和其它字符的个数
3.求s=a+aa+aaa+aaaa+aa...a的值,。
4.成绩&
=90分a表示,60-89分b表示,60分以下的用c表示。
5.输入两个正整数m和n,求其最大公约数和最小公倍数
6.分别统计出其中英文字母、空格、数字和其它字符的个数
7.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
8.一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在第10
次落地时,共经过多少米?
9.有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
10.题目:
求1+2!
的和\
11..把字符串a复制给字符串b。
12.编程c语言1/2+3/4+4/5....+99/100
13.求解方程ax2+bx+c=0的值
14.输出9*9乘法表
15..输入三个数字,输出他们的最大值
16..求两点间的距离篇四:
中北大学软件学院2013届c语言程序设计实训题目
c语言程序课程设计题目
(孟龙)题目1:
年历显示
功能要求:
(1)输入一个年份,输出是在屏幕上显示该年的日历。
假定输入的年份在1940-2040年之间。
(2)输入年月,输出该月的日历。
(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。
(周壮)题目2:
小学生测验
面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。
(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;
(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;
(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;
(4)对于每道题,学生第一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北大 语言 设计 思想 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)