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
更多推荐
程序,输出,题目,分析
发布评论