西工大C语言程序作业.docx
- 文档编号:28560631
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:14
- 大小:16.13KB
西工大C语言程序作业.docx
《西工大C语言程序作业.docx》由会员分享,可在线阅读,更多相关《西工大C语言程序作业.docx(14页珍藏版)》请在冰豆网上搜索。
西工大C语言程序作业
T021、羊羊聚会
#include
#include
doublef(doublea,doubleb)
{
doublei;
for(i=1;;i++)
{
if(i*b==a)
{
returni;
break;
}
if(i*b>a)
{
return(i-1);
break;
}
}
}
intmain()
{
doublex,y,a,b,c,t,m,n,k;
scanf("%lf%lf%lf%lf%lf",&x,&y,&a,&b,&c);
if(b>a)
m=b-a,n=y-x;
else
m=a-b,n=x-y;
if(n>0)
for(t=0;;t++)
{
k=t*m-(c-n);
if(k==0)
{
printf("%.0lf",t);
break;
}
if(k>0&&(k-f(k,c)*c)==0)
{
printf("Impossible");
break;
}
}
if(m<0)
for(t=0;;t++)
{
k=t*n-m;
if(k==0)
{
printf("%.0lf",t);
break;
}
if(k>0&&(k-f(k,c)*c)==n)
{
printf("Impossible");
break;
}
}
return0;
}
T022、粒子裂变
(1)#include
#include
intmain()
{intt,i,a=1,b=0;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
b=3*a+2*b;
a=(b+(pow(-1,i))*3)/3;
}
printf("%d%d",a,b);
}
(2)#include
intmain()
{
intn[100],m[100],t,i;
n[0]=1;//n[100]数组存储α粒子的数目,初始值为0
m[0]=0;//m[100]数组存储β粒子的数目,初始值为1
scanf("%d",&t);
for(i=1;i<=t;i++){
n[i]=m[i-1];
m[i]=3*n[i-1]+2*m[i-1];
}
printf("%d%d",n[t],m[t]);
getchar();
getchar();//多读取一个回车可以看到输出结果,直到输出回车后结果才闪过
}
T023、探索合数世纪
#include
#include
intmain()
{
intn,s,i=0,j=0,w,h,k,u=1;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(k=u;;k++){
for(s=k*100,h=1;s<=k*100+99;s++){
for(j=2,w=1;j<=sqrt(s);j++)
{
w=s%j;
if(w==0)
break;
}
if(w!
=0)
{h=0;
break;}
}
if(h==1)
{u=k;
break;}
}
}
printf("%d%d\n",u*100,u*100+99);
return0;
}
T024、排列1~9
#include
#include
intmain()
{
inti,j,k;
inta[10],d,fg,n=0,t,m=0;
for(i=123;i<=987/3;i++)
{
j=2*i;k=3*i;
a[0]=i/100;a[1]=i/10%10;a[2]=i%10;
a[3]=j/100;a[4]=j/10%10;a[5]=j%10;
a[6]=k/100;a[7]=k/10%10;a[8]=k%10;
for(d=0;d<8;d++)
for(fg=d+1;fg<9;fg++)
if(a[d]==a[fg])
n++;
if(n==0)
{
for(t=0;t<9;t++)
if(a[t]==0)
m=1;
if(m!
=1)
printf("%d%d%d\n",i,j,k);
else
m=0;
}
else
n=0;
}
printf("%f\n",(double)clock()/CLOCKS_PER_SEC);
return0;
}
T025、幸运数字7
#include
intmain()
{
inti,N;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
if(i%7==0)printf("%d\n",i);
else
{
inttemp=i;
while(temp>0)
{
if(temp%10==7)
{
printf("%d\n",i);
break;
}
temp=temp/10;
}
}
}
}
T026、1的传奇
#include
intSubSum(int);
intPow(inta,intx);
intTotalSum(intn);
intNumLen(intn);
intmain()
{
intn;
scanf("%d",&n);
printf("%d\n",TotalSum(n));
return0;
}
intNumLen(intn)
{
ints=0;
do{
s+=1;
n/=10;
}while(n);
returns;
}
intSubSum(intn)
{
intm=NumLen(n);
intfirstnum=n/Pow(10,m-1);
if(firstnum==1)
return((m-1)*Pow(10,m-2)+1);
elseif(firstnum==2)
return(SubSum(Pow(10,m-1))+Pow(10,m-1)+(m-1)*Pow(10,m-2)-1);
else
return(SubSum((firstnum-1)*Pow(10,m-1))+(m-1)*Pow(10,m-2));
}
intPow(inta,intx)
{
inta2=a,i;
if(x==0)return1;
for(i=1;i a*=a2; returna; } intTotalSum(intn) { inttotalsum=0; intlen=NumLen(n); intfirstnum=n/Pow(10,len-1); if(len==1&&n) return1; if(len==1&&! n) return0; if(firstnum==1) totalsum+=(SubSum(Pow(10,len-1))+n%Pow(10,len-1)); else totalsum+=SubSum(firstnum*Pow(10,len-1)); n%=Pow(10,len-1); return(totalsum+TotalSum(n)); }T027、分数拆分 #include intmain() { intk,x,y; scanf("%d",&k); for(x=(k+1);x<=2*k;x++) { y=(k*x)/(x-k); if((k*x)%(x-k)==0) { y=(k*x)/(x-k); printf("1/%d=1/%d+1/%d\n",k,y,x); } } } T028、解不等式 #include intmain() { intk,x,y; scanf("%d",&k); for(x=(k+1);x<=2*k;x++) { y=(k*x)/(x-k); if((k*x)%(x-k)==0) { y=(k*x)/(x-k); printf("1/%d=1/%d+1/%d\n",k,y,x); } } } T029、除法0~9,a~j #include intmain() { intp,n,m,i,j,a[10],jud; scanf("%d",&p);//读入要测试的数 n=1234; for(;n<=98765;n++)//n穷举到最大的98765 { jud=0; m=n;//不能破坏循环变量n的值 for(i=4;i>=0;i--) { a[i]=m%10; m=m/10;//将n的5位数字分别存在数组中 } if(n%p! =0) continue;//如果n不能被p整除,则跳到下个循环 else { m=n/p;//分母需要重新赋值,不能与分子相同 for(i=9;i>=5;i--) { a[i]=m%10; m=m/10;//若能整除,则把5个数字分别存在数组中 } } for(i=0;i<=8;i++) { for(j=i+1;j<=9;j++) if(a[i]==a[j]) { jud=1; break;//判断a[0]~a[9]中有无重复数字 } if(jud==1) break;//若有重复数字,则跳出循环 } if(jud==0)//若没有重复数字,则输出这组数据 { for(i=0;i<=4;i++) printf("%d",a[i]); printf("/"); for(i=5;i<=9;i++) printf("%d",a[i]); printf("=%d\n",p); } } return0; } T030、分数化小数 #include intmain() { intp,n,m,i,j,a[10],jud; scanf("%d",&p);//读入要测试的数 n=1234; for(;n<=98765;n++)//n穷举到最大的98765 { jud=0; m=n;//不能破坏循环变量n的值 for(i=4;i>=0;i--) { a[i]=m%10; m=m/10;//将n的5位数字分别存在数组中 } if(n%p! =0) continue;//如果n不能被p整除,则跳到下个循环 else { m=n/p;//分母需要重新赋值,不能与分子相同 for(i=9;i>=5;i--) { a[i]=m%10; m=m/10;//若能整除,则把5个数字分别存在数组中 } } for(i=0;i<=8;i++) { for(j=i+1;j<=9;j++) if(a[i]==a[j]) { jud=1; break;//判断a[0]~a[9]中有无重复数字 } if(jud==1) break;//若有重复数字,则跳出循环 } if(jud==0)//若没有重复数字,则输出这组数据 { for(i=0;i<=4;i++) printf("%d",a[i]); printf("/"); for(i=5;i<=9;i++) printf("%d",a[i]); printf("=%d\n",p); } } return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西工大 语言 程序 作业