c语言编程100题,有没有大神帮帮忙

c语言编程100题,有没有大神帮帮忙,第1张

您好,c语言经典100题:

程序1】

题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数

都是多少

1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去

掉不满足条件的排列.

2.程序源代码:

main()

{

int

i,j,k

printf("\n")

for(i1i<5i++)

/*以下为三重循环*/

for(j1j<5j++)

for

(k1k<5k++)

{

if

(i!k&&i!j&&j!k)

/*确保i,j,k三位互不相同*/

printf("%d,%d,%d\n",i,j,k)

}

}

【程序2】

题目:企业发放的奖金根据利润提成.利润(i)低于或等于10万元时,奖金可提10%利润高

于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提

成7.5%20万到40万之间时,高于20万元的部分,可提成5%40万到60万之间时高于

40万元的部分,可提成3%60万到100万之间时,高于60万元的部分,可提成1.5%,高于

100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数

1.程序分析:请利用数轴来分界,定位.注意定义时需把奖金定义成长整型.

2.程序源代码:

main()

{

long

int

i

int

bonus1,bonus2,bonus4,bonus6,bonus10,bonus

scanf("%ld",&i)

bonus1100000*0.1bonus2bonus1+100000*0.75

bonus4bonus2+200000*0.5

bonus6bonus4+200000*0.3

bonus10bonus6+400000*0.15

if(i<100000)

bonusi*0.1

else

if(i<200000)

bonusbonus1+(i-100000)*0.075

else

if(i<400000)

bonusbonus2+(i-200000)*0.05

else

if(i<600000)

bonusbonus4+(i-400000)*0.03

else

if(i<1000000)

bonusbonus6+(i-600000)*0.015

else

bonusbonus10+(i-1000000)*0.01

printf("bonus%d",bonus)

}

【程序3】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少

1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后

的结果满足如下条件,即是结果.请看具体分析:

2.程序源代码:

#include

"math.h"

main()

{

long

int

i,x,y,z

for

(i1i2)/*如果是闰年且月份大于2,总天数应该加一天*/

sum++

printf("it

is

the

%dth

day.",sum)}

【程序4】

题目:输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

情况,闰年且输入月份大于3时需考虑多加一天。

2.程序源代码:

main()

{

int

day,month,year,sum,leap

printf("\nplease

input

year,month,day\n")

scanf("%d,%d,%d",&year,&month,&day)

switch(month)/*先计算某月以前月份的总天数*/

{

case

1:sum0break

case

2:sum31break

case

3:sum59break

case

4:sum90break

case

5:sum120break

case

6:sum151break

case

7:sum181break

case

8:sum212break

case

9:sum243break

case

10:sum273break

case

11:sum304break

case

12:sum334break

default:printf("data

error")break

}

sumsum+day

/*再加上某天的天数*/

if(year%4000||(year%40&&year%100!0))/*判断是不是闰年*/

leap1

else

leap0

if(leap1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/

sum++

printf("It

is

the

%dth

day.",sum)}

【程序5】

题目:输入三个整数x,y,z,请把这三个数由小到大输出.

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,

然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小.

2.程序源代码:

main()

{

int

x,y,z,t

scanf("%d%d%d",&x,&y,&z)

if

(x>y)

{txxyyt}

/*交换x,y的值*/

if(x>z)

{tzzxxt}/*交换x,z的值*/

if(y>z)

{tyyzzt}/*交换z,y的值*/

printf("small

to

big:

%d

%d

%d\n",x,y,z)

}

【程序6】

题目:用*号输出字母c的图案.

1.程序分析:可先用'*'号在纸上写出字母c,再分行输出.

2.程序源代码:

#include

"stdio.h"

main()

{

printf("hello

c-world!\n")

printf("

****\n")

printf("

*\n")

printf("

*

\n")

printf("

****\n")

}

【程序7】

题目:输出特殊图案,请在c环境中运行,看一看,very

beautiful!

1.程序分析:字符共有256个.不同字符,图形不一样.

2.程序源代码:

#include

"stdio.h"

main()

{

char

a176,b219

printf("%c%c%c%c%c\n",b,a,a,a,b)

printf("%c%c%c%c%c\n",a,b,a,b,a)

printf("%c%c%c%c%c\n",a,a,b,a,a)

printf("%c%c%c%c%c\n",a,b,a,b,a)

printf("%c%c%c%c%c\n",b,a,a,a,b)}

【程序8】

题目:输出9*9口诀.

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列.

2.程序源代码:

#include

"stdio.h"

main()

{

int

i,j,result

printf("\n")

for

(i1i<10i++)

{

for(j1j<10j++)

{

resulti*j

printf("%d*%d%-3d",i,j,result)/*-3d表示左对齐,占3位*/

}

printf("\n")/*每一行后换行*/

}

}

【程序9】

题目:要求输出国际象棋棋盘.

1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格.

2.程序源代码:

#include

"stdio.h"

main()

{

int

i,j

for(i0i<8i++)

{

for(j0j<8j++)

if((i+j)%20)

printf("%c%c",219,219)

else

printf("

")

printf("\n")

}

}

【程序10】

题目:打印楼梯,同时在楼梯上方打印两个笑脸.

1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数.

2.程序源代码:

#include

"stdio.h"

main()

{

int

i,j

printf("\1\1\n")/*输出两个笑脸*/

for(i1i<11i++)

{

for(j1j<ij++)

printf("%c%c",219,219)

printf("\n")

}

}

【程序11】

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月

后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少

1.程序分析:

兔子的规律为数列1,1,2,3,5,8,13,21....

2.程序源代码:

main()

{

long

f1,f2

int

i

f1f21

for(i1i<20i++)

{

printf("%12ld

%12ld",f1,f2)

if(i%20)

printf("\n")/*控制输出,每行四个*/

f1f1+f2

/*前两个月加起来赋值给第三个月*/

f2f1+f2

/*前两个月加起来赋值给第三个月*/

}

}

【程序12】

题目:判断101-200之间有多少个素数,并输出所有素数.

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数.

2.程序源代码:

#include

"math.h"

main()

{

int

m,i,k,h0,leap1

printf("\n")

for(m101m<200m++)

{

ksqrt(m+1)

for(i2i<ki++)

if(m%i0)

{leap0break}

if(leap)

{printf("%-4d",m)h++

if(h%100)

printf("\n")

}

leap1

}

printf("\nthe

total

is

%d",h)

}

题目: 给定两个正整数m=128和n=60,求其最大公约数和最小公倍数。

程序分析:

(1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数;

(2)求最大公约数用辗转相除法(又名欧几里德算法)

1)证明:设c是a和b的最大公约数,记为c=gcd(a,b),a>=b,

令r=a mod b

设a=kc,b=jc,则k,j互素,否则c不是最大公约数

据上,r=a-mb=kc-mjc=(k-mj)c

可知r也是c的倍数,且k-mj与j互素,否则与前述k,j互素矛盾,

由此可知,b与r的最大公约数也是c,即gcd(a,b)=gcd(b,a mod b),得证。

2)算法描述:

第一步:a ÷ b,令r为所得余数(0≤r 第二步:互换:置 a←b,b←r,并返回第一步。

输出格式: 第一行输出最大公约数,第二行输出最小公倍数。

知识点 :循环

程序执行结果:

前言

第1章 数控车床编程基础

1.1 数控车床加工概述

1.2 数控车床编程基础

1.2.1 数控车床坐标系

1.2.2 数控加工编程流程

1.2.3 数控加工程序的格式与组成

1.2.4 数控车床常用功能指令

1.2.5 数控车床常用刀具

1.2.6 数控车床夹具

1.2.7 数控编程中的数值计算

第2章 FANUC数控车床编程实例

2.1 阶梯轴类零件加工编程

2.2 圆弧成形面零件加工编程

2.3 槽类零件加工编程

2.4 螺纹类零件加工编程

2.5 孔类零件加工编程

2.6 内/外轮廓加工循环编程

2.7 利用子程序编程

2.8 利用宏程序编程

2.9 数控车中级工考试样题

2.10 数控车高级工考试样题

第3章 SIEMENS数控车床编程实例

3.1 阶梯轴类零件加工编程

3.2 圆弧成形面零件加工编程

3.3 槽类零件加工编程

3.4 螺纹类零件加工编程

3.5 孔类零件加工编程

3.6 内/外轮廓加工循环编程

3.7 参数编程

3.8 利用子程序编程

3.9 数控车中级工考试样题

3.10 数控车高级工考试样题

附录

附录A 常用材料及刀具切削参数推荐值

附录B FANUC数控车床常用NC代码

附录C SIEMENS数控车床常用NC代码

参考文献


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12040965.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存