C语言程序设计循环结构,刚刚学
展开全部
第一题
#include<stdio.h>
int main()
{
int n,i,k,a=1,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)//循环n次,求n个和
{
for(k=1;k<=i;k++)//求阶层i!
{
a=a*k;
}
s=s+a;//阶层求和
a=1; //a重新归1
}
printf("阶层和是%d\n",s);
return 0;
}
============
第二题,给出一个能输出任意层塔的函数
#include<stdio.h>
int main()
{
int n,i,k;
scanf("%d",&n);//读入需要输出的塔有几层 ,对于这道题可以删去,把n定义为5
for(i=1;i<=n;i++)//循环n次,每次输出一层
{
for(k=1;k<=(n-i);k++)//对于第i层,需要输出n-i个空格
{
printf(" ");
}
for(k=1;k<2*i;k++)//对于第i层,需要输出2i-1个*
{
printf("*");
}
printf("\n");//别忘了最后要换行
}
return 0;
}
===========
第三题,给出求从n到m所有素数的方法
#include<stdio.h>
#include<math.h>
int main()
{
int n,m,a,b,c=0,i=2,s[100]/*定义一个有100个元素的素数组*/,j=-1;
scanf("%d%d",&n,&m);
for(a=n;a<=m;a++)//从n到m一个个找
{
for(i=2;i<a;i++)//从2到a-1,依次除a
{
b=a%i;
if(b==0) c=c+1;/*c表示除1和自己以外的因数个数,如果a整除i,就给c加一个数 */
}
if(c==0) //如果没有其他因数,就把a加到素数数组中去
{
j=j+1;
s[j]=a;
printf("%d\n",s[j]);
}
else c=0;
}
return 0;
}
展开全部
这是C++的。我也只是提供一下思想。代码可能不是很完美。但是你可以参考一下。
和C唯一不同的就是输入输出的地方。
第一题:
int n=0;
cin>>n;
double sum = 0;
for (int i=1; i<=n; ++i)
{
int m = 1;
for (int j=1; j<=i; ++j)
{
m*=j;
}
sum += m;
}
cout<<sum<<endl;
第二题:
for (int i=0; i<5; ++i)
{
int y=i;
for(; y<5; ++y)
cout<<' ';
for(int j=0; j<(2*(i+1)-1); ++j)
{
cout<<'*';
}
cout<<endl;
}
第三题:
for (int i=100; i<=200; ++i)
{
bool flag = true;
for(int j=2; j< (int)sqrt((double)i); ++j)
{
if(i%j ==0)
{
flag = false;
break;
}
}
if(flag)
cout<<i<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
3道全部要写吗
追问
恩,都要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询