C语言程序设计报告.docx
- 文档编号:27752623
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:60
- 大小:25KB
C语言程序设计报告.docx
《C语言程序设计报告.docx》由会员分享,可在线阅读,更多相关《C语言程序设计报告.docx(60页珍藏版)》请在冰豆网上搜索。
C语言程序设计报告
信息工程系
课程设计报告书
所属课程名称:
C语言程序设计
专业班级:
150311
学生姓名:
曾传凤
学号:
长春工业大学人文信息学院
2016年9月9日
课程设计成绩评定表
项目
得分
平时表现
及设计完成情况
(占40%)
设计报告
(占30%)
答辩情况
(占30%)
成绩评定及等级:
优:
90—100分;
良:
80---89分;
中:
70---79分;
及格:
60---69分;
不及格:
60分以下。
分数
等级
指导教师姓名及职称:
年月日
第一部分完成题目
1、简单的数学计算。
编写程序,计算任意输入的3个数的和的平均值。
(1)截屏:
(2)源代码:
简单的数学计算。
编写程序,计算任意输入的3个数的和的平均值。
#include""
voidmain()
{
inta=0,b=0,c=0,s=0;
floatv;
printf("三个数");
scanf("%d%d%d",&a,&b,&c);
printf("三个数的和为,三个数的和的平均值为");
s=a+b+c;
v=s/3;
printf("三个数的和为%d,三个数的和的平均值为%f",s,v);
}
2.题目:
编写程序。
a为100,b为50,若a>b成立将a赋予给c,否则将b赋予给c。
同时,若a
编程输出a,b,c,d的值。
(1)截屏:
(2)源代码:
#include""
voidmain()
{
inta=100;
intb=50;
intc,d;
if(a>b)
{
c=a;
d=b*b*b;
}
else
{
c=b;
d=a;
}
printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);
3.题目:
利用条件运算符的嵌套来完成此题:
学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
(1)截屏:
(2)源代码:
#include""
voidmain()
{
inta;
printf("请输入学生成绩:
\n");
scanf("%d",&a);
if(a>=90)
{
printf("A\n");
}
elseif(a>60&&a<89)
{
printf("B\n");
}
else
{
printf("C\n");
}
}
4题目:
构造一个一元二次方程,方程有两个不相等的实数解,将两个实数解输出出来。
(1)截屏:
(2)源代码
构造一个一元二次方程,方程有两个不相等的实数解,将两个实数解输出出来。
#include""
voidmain()
{
inta,b,c;
floatx1,x2;
floatm;
printf("请输入三个数作为方程的系数:
\n");
scanf("%d%d%d",&a,&b,&c);
m=b*b-4*a*c;
if(a!
=0)
{
printf("方程成立");
if(m>0)
{
x1=(-b+sqrt(m))/(2*a);
x2=(-b-sqrt(m))/(2*a);
printf("方程有两个解,x1=%f,x2=%f\n",x1,x2);
}
elseif(m==0)
{
x1=x2=(-b+sqrt(m))/(2*a);
printf("方程有唯一解x=%f\n",x1);
}
else
{
printf("方程无解\n");
}
}
else
{
printf("方程不成立\n");
}
}
5题目:
输入任意一个四位数字,分别将个位,十位,百位,千位上的数字输出出来,并求所有位数的和。
(1)截屏:
(2)源代码
#include""
voidmain()
{
inta,b;
intx1,x2,x3,x4;
printf("请输入四个数:
\n");
scanf("%d",&a);
x1=a%10;
x4=a/1000;
a=a/10;
x2=a%10;
a=a/10;
x3=a%10;
b=x1+x2+x3+x4;
printf("该四位数个位%d,十位%d,百位%d,千位%d\n",x1,x2,x3,x4);
printf("该四位数和:
%d\n",b);
}
6题目:
从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出
(1)截屏
(2)源代码
#include""
voidmain()
{
intx,a,b;
printf("请输入工资:
");
scanf("%d",&x);
if(x<=1200)
{
a=1;
}
elseif(x>1200&&x<=2000)
{
a=2;
}
elseif(x>2000&&x<=3500)
{
a=3;
}
else
{
a=4;
}
switch(a)
{
case1:
printf("不收税\n");
break;
case2:
b=(x-1200)*;printf("收税%d\n",b);
break;
case3:
b=(x-2000)*;printf("收税%d\n",b);
break;
case4:
b=(x-3500)*;printf("收税%d\n",b);
break;
}
}
7题目:
假定征税的办法如下:
收入在1200元以下(含1200元)的不征税;收入在1200元以上2000元以下者,超过1200元的部分按5%的税率收税;收入在2000元以上3500元以下者,超出2000元部分按8%的税率收税;收入在3500元以上者,3500以上部分按20%的税率收税,试编写按收入计算税费的程序(要求使用switch语句编写程序)。
(1)截屏:
(2)源代码:
#include""
voidmain()
{
intx,a,b;
printf("请输入工资:
");
scanf("%d",&x);
if(x<=1200)
{
a=1;
}
elseif(x>1200&&x<=2000)
{
a=2;
}
elseif(x>2000&&x<=3500)
{
a=3;
}
else
{
a=4;
}
switch(a)
{
case1:
printf("不收税\n");
break;
case2:
b=(x-1200)*;printf("收税%d\n",b);
break;
case3:
b=(x-2000)*;printf("收税%d\n",b);
break;
case4:
b=(x-3500)*;printf("收税%d\n",b);
break;
}
}
8题目:
输入三个整数x,y,z,请把这三个数由小到大输出
(1)截屏:
(2)源代码:
#include""
voidmain()
{
inta,b,c;
intmax,min,zhon;
printf("请任意输入三个数:
\n");
scanf("%d%d%d",&a,&b,&c);
if(a>=b)
{
max=a;
min=b;
}
else
{
max=b;
min=a;
}
if(max>=c)
{
if(min>=c)
{
zhon=min;
min=c;
}
else
{
zhon=c;
}
}
else
{
zhon=max;
max=c;
}
printf("所输入数按从小到大排列为%d<%d<%d\n",min,zhon,max);
}
9题目:
输入一个任意数字,将这个数字的绝对值输出出来。
(1)截屏:
(2)源代码:
#include""
voidmain()
{
inta;
printf("请输入任意一个数字:
\n");
scanf("%d",&a);
if(a>=0)
{
printf("绝对值为%d\n",a);
}
else
{
a=-a;
printf("绝对值为%d\n",a);
}
}
10题目:
输入一个任意数字,将这个数字的绝对值输出出来。
(1)截屏:
(3)源代码:
#include""
voidmain()
{
inta,b;
intx;
printf("请输入被除数和除数:
\n");
scanf("%d%d",&a,&b);
if(b!
=0)
{
x=a/b;
printf("商为:
%d\n",x);
}
else
{
printf("除数不能为0\n");
}
}
11题目:
编程实现:
任意输入某年某月某日,判断这一天是这一年的第几天。
程序分析:
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
(1)截屏:
(2)源代码:
#include""
voidmain()
{
intn,y,r;
intsum;
printf("请输入年份:
\n");
scanf("%d",&n);
printf("请输入月份:
\n");
scanf("%d",&y);
printf("请输入第几天:
\n");
scanf("%d",&r);
if((n%4==0)&&(n%100!
=0)||(n%400==0))
{
switch(y)
{
case1:
sum=r;
break;
case2:
sum=31+r;
break;
case3:
sum=60+r;
break;
case4:
sum=91+r;
break;
case5:
sum=r+121;
break;
case6:
sum=152+r;
break;
case7:
sum=182+r;
break;
case8:
sum=213+r;
break;
case9:
sum=244+r;
break;
case10:
sum=274+r;
break;
case11:
sum=305+r;
break;
case12:
sum=355+r;
break;
}
}
else
{
switch(y)
{
case1:
sum=r;
break;
case2:
sum=31+r;
break;
case3:
sum=59+r;
break;
case4:
sum=90+r;
break;
case5:
sum=r+120;
break;
case6:
sum=151+r;
break;
case7:
sum=181+r;
break;
case8:
sum=212+r;
break;
case9:
sum=243+r;
break;
case10:
sum=273+r;
break;
case11:
sum=304+r;
break;
case12:
sum=354+r;
break;
}
}
printf("这是%d年的第%d天\n",n,sum);
}
12题目:
用整数1~12一次表示1月~12月,由键盘输入一个月份数,输出对应的季节英文名称(12月~2月为冬季;3月~5月为春季;6月~8月为夏季;9月~11月为秋季),要求用if嵌套实现。
(1)截屏:
(2)源代码:
#include""
voidmain()
{
intyear;
printf("请任意输入一个月份:
\n");
scanf("%d",&year);
if(year>=3&&year<=5)
{
printf("SPRING");
}
elseif(year>=6&&year<=8)
{
printf("SUMMER");
}
elseif(year>=8&&year<=11)
{
printf("FALL");
}
else
{
printf("WINTER");
}
}
13题目:
.模拟银行提款机程序。
首先要求用户输入密码,如果输入密码超过三次则退出程序。
如果在三次以内,可以选择用户的操作,操作1.查询余额;2.存款操作;3.取款操作;4.转账汇款;5.退出
(1)截屏:
(2)源代码:
#include""
voidmain()
{
intn=0;
intmima;询余额;2.存款操作;3.取款操作;\n4.转账汇款;5.退出;\n");
scanf("%d",&c);
switch(c)
{
case1:
printf("余额为%d\n",ye);
break;
case2:
printf("请输入您要存的钱数:
\n");
scanf("%d",&ck);
ye=ck+ye;
printf("当前余额为:
%d\n",ye);
break;
case3:
printf("请输入您要取的钱数:
\n");
scanf("%d",&qk);
ye=ye-qk;
printf("当前余额为:
%d\n",ye);
break;
case4:
printf("请输入您要转的钱数:
\n");
scanf("%d",&zz);
ye=ye-zz;
printf("当前余额为:
%d\n",ye);
break;
case5:
printf("已退出,请收好您的卡!
!
\n");
break;
}
}
break;
}
else
{
printf("密码错误!
!
\n");
if(n==3)
{
printf("错误次数过多,禁止操作!
!
!
\n");
}
}
}
}
14题目:
1.用户从键盘任意输入两个整数,求这两个整数之间所有整数的和.
(1)截屏:
(2)源代码:
#include""
voidmain()
{
inta,b;
intn;
intsum=0;
intmax,min;
printf("请输入两个整数:
\n");
scanf("%d%d",&a,&b);
if(a>=b)
{
max=a;
min=b;
}
else
{
max=b;
min=a;
}
for(n=min;n<=max;n++)
{
sum=n+sum;
}
printf("%d,%d之间所有数的和为:
%d\n",a,b,sum);
}
15题目:
打印出一个直角三角形
(1)截屏:
(2)源代码:
#include""
voidmain()
{
ints,n,m;
printf("请任意输入三角形的直角边长:
\n");
scanf("%d",&s);
for(n=0;n
{
for(m=0;m<=n;m++)
{
printf("*");
}
printf("\n");
}
}
16题目:
打印出一个"九九乘法表"
(1)截屏:
(2)源代码:
#include""
voidmain()
{
intn,m,x;
for(n=1;n<=9;n++)
{
for(m=1;m<=n;m++)
{
x=n*m;
printf("%d*%d=%d",n,m,x);
}
printf("\n");
}
}
17题目:
输出1-100之间的所有素数
(1)截屏
(2)源代码
#include""
voidmain()
{
intn,m,x;
intflag=0;
ints=0;
for(n=1;n<=100;n++)
{
flag=1;
for(m=2;m { x=n%m; if(x==0) { flag=0; break; } } if(flag==1) { s++; printf("%d",n); if(s%5==0) { printf("\n"); } } } printf("\n"); } 18题目: 模拟银行操作的流程 (1)截屏 (2)源代码 #include"" voidmain() { intn=0; intmima;询余额;2.存款操作;3.取款操作;\n4.转账汇款;5.退出;\n"); scanf("%d",&c); switch(c) { case1: printf("余额为%d\n",ye); break; case2: printf("请输入您要存的钱数: \n"); scanf("%d",&ck); ye=ck+ye; printf("当前余额为: %d\n",ye); break; case3: printf("请输入您要取的钱数: \n"); scanf("%d",&qk); ye=ye-qk; printf("当前余额为: %d\n",ye); break; case4: printf("请输入您要转的钱数: \n"); scanf("%d",&zz); ye=ye-zz; printf("当前余额为: %d\n",ye); break; case5: printf("已退出,请收好您的卡! ! \n"); break; } } break; } else { printf("密码错误! ! \n"); if(n==3) { printf("错误次数过多,禁止操作! ! ! \n"); } } } } 19题目: 输入任意多个整数,当输入-1时结束用户输入,统计并输入其中正数、负数和零的个数。 (1)截屏 (2)源代码 #include"" voidmain() { intn=0; intl=0; intz=0; intf=0; while(n! =-1) { printf("请输入一个数: \n"); scanf("%d",&n); if(n>0) { z++; } elseif(n==0) { l++; } else { f++; } } printf("正数有个%d,负数有个%d,零有个%d。 \n",z,f,l); } 20题目: 编写程序,计算1-100之间的所有偶数和。 (1)截屏 (2)源代码 #include"" voidmain() { intn; intsum=0; for(n=1;n<=100;n++) { if(n%2==0) { sum=sum+n; } } printf("1到100之间所有偶数的和为%d\n",sum); } 21题目.用for循环语句编写计算n! 的程序 (1)截屏 (2)源代码 #include"" voidmain() { intx; intn; ints=1; printf("请输入要计算的值: \n"); scanf("%d",&x); for(n=1;n<=x;n++) { s=s*n; } printf("%d的阶乘为: %d\n",x,s); } 21题目百钱百鸡问题: 设公鸡每只5元,母鸡每只3元,小鸡每元3只,现用100元钱买100只鸡,编写程序,算出可以各买多少只鸡。 (1)截屏 (2)源代码 #include"" voidmain() { intx,y,z; for(x=1;x<=20;x++) { for(y=1;y<=33;y++) { z=100-x-y; if((x+y+z==100)&&(5*x+3*y+z/3==100)&&(z%3==0)) { printf("可以买公鸡%d只,母鸡%d只,小鸡%d只\n",x,y,z); } } } } 22题目古典问题: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 (1)截屏 (2)源代码 #include"" intfun(intn) { if(n==1||n==2) { return1; } else { returnfun(n-1)+fun(n-2); } } voidmain() { intnum; intx; intn; printf("请输入需要查看的月份: \n"); scanf("%d",&n); num=fun(n); printf("第%d月有兔子%d对\n",n,num); return0; } 23题目打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 报告