2024年3月14日发(作者:2021衡水金卷数学试卷)

C程序设计五百例 用c语言解决数学建模问题

c程序设计五百例--用c语言解决数学建模问题

学会用c语言解决生活中的问题

【程序1】

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

多少?

1.程序分析:北基宜在百位、十位、个位的数字都就是1、2、3、4。共同组成所有的

排序后再换成不满足条件的排序。

2.程序源代码:main(){

inti,j,k;printf(

for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for(k=1;k<5;k++){

if(i!=k&&i!=j&&j!=k)/*保证i、j、k三位互不相同*/printf(}}

==============================================================【程序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(){

longinti;

intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(

bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bo

nus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;elseif(i<=

200000)

bonus=bonus1+(i-100000)*0.075;

1

elseif(i<=400000)

bonus=bonus2+(i-200000)*0.05;elseif(i<=600000)

bonus=bonus4+(i-400000)*0.03;elseif(i<=1000000)

bonus=bonus6+(i-600000)*0.015;else

bonus=bonus10+(i-1000000)*0.01;printf(}

==============================================================【程序3】

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

请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该

数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:2.程

序源代码:#includemain(){

longinti,x,y,z;

for(i=1;i<100000;i++)

{x=sqrt(i+100);/*x为加之100后开方后的结果*/y=sqrt(i+268);/*y为再加之168

后开方后的结果*/

if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是

完全平方数*/printf(}}

==============================================================【程序4】

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

1.程序分析:以3月5日为基准,必须先把前两个月的提出来,然后再加之5天即为

本年的第几天,特定情况,闰年且输出月份大于3时需考量多提一天。2.程序源代码:

main(){

intday,month,year,sum,leap;

printf(scanf(

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

case1:sum=0;break;case2:sum=31;break;case3:sum=59;break;case4:sum=90;break;cas

e5:sum=120;break;

2

case6:sum=151;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;brea

k;case10:sum=273;break;case11:sum=304;break;case12:sum=334;break;

default:printf(}

sum=sum+day;/*再加之某天的天数*/

if(year@0==0||(year%4==0&&year0!=0))/*判断是不是闰年*/leap=1;else

leap=0;

if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/sum++;

printf(

==============================================================【程序5】

题目:输出三个整数x,y,z,恳请把这三个数由小到大输入。1.程序分析:我们想要

办法把最轻的数放在x上,先将x与y展开比较,如果x>y则将x与y的值展开互换,然

后再用x与z展开比较,如果x>z则将x与z的值展开互换,这样能够并使x最轻。2.程

序源代码:main(){

intx,y,z,t;

scanf(if(x>y)

{t=x;x=y;y=t;}/*交换x,y的值*/if(x>z)

{t=z;z=x;x=t;}/*互换x,z的值*/if(y>z)

{t=y;y=z;z=t;}/*交换z,y的值*/

printf(}

==============================================================【程序6】

题目:用*号输入字母c的图案。

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

#includemain(){

printf(printf(printf(

3

printf(printf(}

==============================================================【程序7】

题目:输入特定图案,恳请在c环境中运行,看看,verybeautiful!1.程序分析:字

符共计256个。相同字符,图形不一样。2.程序源代码:#includemain(){

chara=176,b=219;

printf(printf(printf(printf(printf(

==============================================================【程序8】

题目:输入9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:

#includemain(){

inti,j,result;printf(

for(i=1;i<10;i++){for(j=1;j<10;j++){

result=i*j;

printf(表示左对齐,占3位*/}

printf(每一行后下划线*/}}

==============================================================【程序9】

题目:建议输入国际象棋棋盘。

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

是白方格。2.程序源代码:#includemain(){

inti,j;

for(i=0;i<8;i++)

4

{

for(j=0;j<8;j++)if((i+j)%2==0)

printf(else

printf(printf(}}

==============================================================【程序10】

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

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

程序源代码:#includemain(){

inti,j;

printf(输出两个笑脸*/for(i=1;i<11;i++){

for(j=1;j<=i;j++)

printf(printf(}}

【程序11】

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

到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程

序分析:兔子的规律为数列1,1,2,3,5,8,2.程序源代码:main(){

longf1,f2;inti;f1=f2=1;

for(i=1;i<=20;i++)

{printf(

if(i%2==0)printf(控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三

个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}}

==============================================================【程序12】

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

5


更多推荐

程序,输出,题目,分析