扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
文章内容较适合初学者,可用于练手,熟悉C语言基础语法。
1.for、while、do-while循环语句
2.break、continue语句的区别和使用
3.常用基础算法:穷举、迭代、递推
二.设计内容(题目+源代码) 1.输入两个正整数m和n,求它们的大公约数和最小公倍数。 法一:#include "stdio.h"
int main()
{
int m,n,gb,gy,k;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
for(gb=1;1;gb++)
if(gb%m==0 && gb%n==0)
break;
if(m>n)
k=n;
else
k=m;
for(gy=k;1;gy--)
if(m%gy==0 && n%gy==0)
break;
printf("最小公倍数为:%d\n",gb);
printf("大公约数为:%d\n",gy);
return 0;
}
法二:【算法分析】辗转相除法:使k为m除以n的余数,如果m能被n整除,则k值为0,n为这两个数的大公约数,否则,使n代替m,k代替n,重复以上过程,直到k值为0,此时n为大公约数。
最小公倍数=(m+n)/大公约数。#includeint main()
{
int m,n,gb,gy,k,a,b;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
k=m%n;
a=m;
b=n;
for( ;k!=0; )
{
m=n;
n=k;
k=m%n;
}
gy=n;
gb=(a*b)/gy;
printf("最小公倍数为:%d\n",gb);
printf("大公约数为:%d\n",gy);
return 0;
}
试运行:
#include "stdio.h"
int main()
{
int i,fh;
float e,j;
e=1;
for(i=1;1;i++)
{
if(i%2==1)//符号问题
fh=1;
else
fh=-1;
for(j=1;j<=i;j++,i++)//阶乘
j=j*i;
if(1/j<10E-4)//停止
break;
e=e+fh*1.0/j;
}
printf("e=%f",e);
return 0;
}
试运行:
#include "stdio.h"
int main()
{
int high,i,j,sum;
int num;
printf("请输入一个正整数high:");
scanf("%d",&high);
for(i=high,num=1;num<=10;i--)
{
if(i==1)
break;//防止high没有10个正素数,计算机从负数中找
for(j=2;j<=high;j++)//若通过for语句判断结束循环即(j>=i),该数为素数
if(i%j==0)
break;
if(j>=i)
{
sum=sum+i;
num++;
}
}
printf("high以内10个大的素数之和为:%d",sum);
return 0;
}
试运行:
#include "stdio.h"
int main()
{
int i;
float fm,fz,sum,t;
fm=1,fz=2;
for(i=1,sum=0;i<=10;i++)
{
sum=sum+fz/fm;
t=fm;//t的作用:保留上一步的分母
fm=fz;
fz=t+fz;
}
printf("sum=%f",sum);
return 0;
}
试运行:
#include "stdio.h"
int main()
{
int zz,qt,c,end;
end=0;
for(zz=1;zz<=16;zz++)
{
for(qt=1;qt<=17-zz;qt++)
{
c=18-zz-qt;
if(zz*8+qt*6+c*6==118 && qt*2+c==20)
end=1;
break;
}
if(end=1)
break;
}
printf("zz=%d,qt=%d,c=%d",zz,qt,c);
return 0;
}
试运行:
#include "stdio.h"
int main()
{
int t,m,n,i;
printf("请输入两个不等于1的正整数:");
scanf("%d%d",&m,&n);
if(m>n)
t=n;
else
t=m;
for(i=2;i<=t;i++)
if(m%i==0 && n%i==0)
break;
if(i<=t)
{
printf("No\n");
printf("公因数为:");
for( ;i<=t;i++)
{
if(m%i==0 && n%i==0)
printf("%d ",i);
}
}
else
printf("Yes");
return 0;
}
试运行:
#include "stdio.h"
int main()
{
int i,j,l,kg,xh;
printf("请输入想要的行数:");
scanf("%d",&l);
for(i=1;i<=l;i++)
{
kg=l-i;
xh=2*i-1;
for(j=1;j<=kg;j++)//打印\n
printf(" ");
for(j=1;j<=xh;j++)//打印*
printf("*");
printf("\n");
}
return 0;
}
试运行:
注:本文中代码均应使用Dev C++运行,使用其它编译器可能出现各种语法错误。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流