c语言课程设计。
学院: 机电。
专业: 机械设计制造
班级: 数控(2)班
学号: 2520110201
姓名: 徐莹
指导教师: 宋亚岚
2023年6月22日。
目录。第一章选择和循环程序设计 3
第二章数组 7
第三章函数 9
第四章指针 11
第五章课程设计总结 14
例1:输入任意的三位整数以反向形式输出。如输入678则输出876。
算法分析】(用文字或流程图进行描述)
对于三位数n以反向输出要求将构成这三位数的元素进行拆分。个位上的元素乘100加上十位上的元素乘10加上百位上的元素乘1得到一个新三位数。将新的三位数输出即可。
如何将三位数进行拆分则需用到表达式中整除和求余运算具体方法如下:
用x1,x2,x3分别存放拆分后的百位、十位个位数。
x1=n/100则得到百位数。
x2=n/10%10 则得到十位数。
x3=n%10则得到个位数。
y=x3*100+x2*10+x1*1
源程序**】
#include<>
void main()
int x1,x2,x3,n,y;
printf(“please input number n:”)
scanf(“%d”,&n);
x1=n/100
x2=n/10%10;
x3=n%10;
y=x3*100+x2*10+x1*1;
printf(“y=%d”,y);
编译示图】(示图中要有0 error,0 warning的提示)
运行结果示图】
1、企业发放的奖金根据利润提成。利润i低于或等于100000元的,奖金可提10%,利润高于100000元,低于200000元(1000001000000时,超过1000000元的部分按1%提成。从键盘输入当月利润i,求应发奖金总数。
要求:1) 用if 语句编程。
2) 用switch语句编程序。
算法分析】(用文字或流程图进行描述)根据利润的范围,确定可提成的百分比,利润为i
1. i<=100000,w=i*0.1
2. 1000003. 2000004.
4000005. 6000006. i>1000000,7.
w=(i-1000000)*0.01+100000*0.1+100000+0.
075+100000*0.05+100000+0.03+100000*0.
015源程序**】(1). #include<>
int main()
int i;
float w;
printf("请输入利润i:")
scanf("%d",&i);
if(i<=100000)
w=i*0.1;
else if(i<=200000)
w=(i-100000)*0.075+100000*0.1;
else if(i<=400000)
w=(i-200000)*0.05+100000*0.1+100000*0.075;
else if(i<=600000)
w=(i-400000)*0.03+100000*0.1+100000*0.075+100000*0.05;
else if(i<=1000000)
w=(i-600000)*0.015+100000*0.1+100000*0.075+100000*0.05+100000*0.03;
elsew=(i-1000000)*0.01+100000*0.1+100000+0.
075+100000*0.05+100000+0.03+100000*0.
015;
printf("应发奖金总数w=%f",w);
return 0;
#include<>
int main()
int i,w,j;
printf("请输入利润i: "
scanf("%d",&i);
j=i/100000;
switch(j)
case 0: w=i*0.1;break;
case 1: w=(i-100000)*0.075+100000*0.1;break;
case 2:
case 3: w=(i-200000)*0.05+100000*0.1+100000*0.075;break;
case 4:
case 5: w=(i-400000)*0.03+100000*0.1+100000*0.075+100000*0.05;break;
case 6:
case 7:
case 8:
case 9: w=(i-600000)*0.015+100000*0.1+100000*0.075+100000*0.05+100000*0.03;break;
case 10: w=(i-1000000)*0.01+100000*0.
1+100000+0.075+100000*0.05+100000+0.
03+100000*0.015;break;
printf("应发奖金总数为:%d",w);
return 0;
编译示图】(示图中要有0 error,0 warning的提示)(1)(2)
运行结果示图】(1)
2、猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。到第10天早上又想再吃时,就只剩下一个桃子了。求第1天共摘了多少个桃子。
算法分析】(用文字或流程图进行描述)
第一天的桃子是第二天桃子加1后的两倍,如此循环下去。
源程序**】#include<>
int main()
int i,j,day;
day=9;
j=1;while(day>0)
i=(j+1)*2;
j=i;day--;
printf("%d",i);
return 0;
编译示图】(示图中要有0 error,0 warning的提示)
运行结果示图】
3、某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。问45块砖,有多少种搬法?
算法分析】(用文字或流程图进行描述)有男人x,女人y,小孩z;
3*x+2*y+z/2=45;
0<=x<=15,0<=y<=22,0<=z<=90)
源程序**】#include<>
int main()
int x,y,z,j=0;
for(x=0;x<=15;x++)
for(y=0;y<=22;y++)
for(z=0;z<=90;z++)
if(3*x+2*y+z/2==45) j++;
printf("有%d种搬法",j);
return 0;
编译示图】(示图中要有0 error,0 warning的提示)
运行结果示图】
1、某班有10名学生参加全国计算机等级考试,编写一个程序求该班学生考试成绩的平均分和高于平均分的人数。
算法分析】(用文字或流程图进行描述)先用scanf函数输入这十个人的成绩,然后用累加法算出这十个人的总成绩,用总成绩除人数10就得到了平均成绩。然后用if语句求出高于平均分的人数。
源程序**】#include<>
int main()
int i,s,a[10],j=0;
float **e;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
s=0;for(i=0;i<10;i++)
s+=a[i];
**e=s/10.0;
printf("这个班的平均成绩为:%f",**e);
for(i=0;i<10;i++)
if(a[i]>**e) j++;
printf("高于平均分的人数为:%d",j);
return 0;
编译示图】(示图中要有0 error,0 warning的提示)
运行结果示图】
2、定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每5个数求出一个平均值,放在另一数组中并输出。
算法分析】(用文字或流程图进行描述)先用scanf函数输入这30个数,然后再定义一个数组,把每五个数的平均值按顺序依次放入新定义的数组中,最后输出新定义的数组即可。
源程序**】#include<>
int main()
int a[30],b[6],i,j;
printf("enter 30 integer numbers:")
for(i=0;i<30;i++)
scanf("%d",&a[i]);
机械设计课程设计
1高速轴设计 材料 选用45号钢调质处理。查课本第230页表14 2取c 100。各轴段直径的确定 根据课本第230页式14 2得 又因为装小带轮的电动机轴径,又因为高速轴第一段轴径装配大带轮,且所以查手册第9页表1 16取。l1 1.75d1 3 60。因为大带轮要靠轴肩定位,且还要配合密封圈,所...
机械设计课程设计
带式输送机传动装置分析如下图 输送带工作拉力f 7kn 输送带工作速度v 1.1m s 滚筒直径d 400mm 滚筒效率 0.96 包括滚筒与轴承的效率损失 工作情况 两班制,连续单向运转,载荷较平稳。使用折旧期 8年。工作环境 室内,灰尘较大,环境最高温度38 动力 电力,三相交流,电压380 2...
机械设计课程设计
1 选择轴的材料。由于减速器传递的功率不大,对其重量和尺寸也无特殊要求故选择常用材料45钢,调质处理。2 初步计算轴的最小直径。当轴的支承距离为定时,无法有强度确定轴径,要用初步估算的方法,即按纯扭矩并降低许用扭转切应力确定轴径d,计算公式 选用45号调质钢,查机设书表15 3,得 在第一部分中已经...