倾情奉献---马杰
1.打印出所有的“水仙花数”,并按照一行5个的格式输出。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。
main(){
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
getch();
}
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
getch();
}
2.求1+2!+3!+...+20!的和
#include<stdio.h>
int main()
{
float i,index=1,sum=1;
for(i=1;i<=20;i++)
{
index*=i;//保存每一项的阶乘
sum+=index;//加上每一项的阶乘
}
printf("%e\n",sum);
return 0;
}
int main()
{
float i,index=1,sum=1;
for(i=1;i<=20;i++)
{
index*=i;//保存每一项的阶乘
sum+=index;//加上每一项的阶乘
}
printf("%e\n",sum);
return 0;
}
3.输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
#include <stdio.h>
#include <string.h>
main()
{
int i,nLen,flag;
char num[6];
gets(num);
nLen =strlen(num);
for (i=0;i<nLen/2;i++)
{
flag=0;
if (num[i]==num[nLen-i-1])
flag =1;
}
if (flag) puts("回文数");
#include <string.h>
main()
{
int i,nLen,flag;
char num[6];
gets(num);
nLen =strlen(num);
for (i=0;i<nLen/2;i++)
{
flag=0;
if (num[i]==num[nLen-i-1])
flag =1;
}
if (flag) puts("回文数");
else puts("不是");
}
}
4. 求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并并按照一行5个的格式输出。
#include<stdio.h>
void fun (int *a, int *n)
{
int i;
*n=0;
for(i=1;i<=1000;i++)
if(( i%7==0 || i%11==0 ) && (!( i%7==0 && i%11==0 )))
{
a[*n]=i;
基础c语言代码 (*n)++;
}
}
main()
{int aa[1000],n,k;
fun(aa,&n);
for (k=0;k<n;k++)
if ((k+1)%10==0) printf("\n");
else printf("%5d",aa[k]);
}
5.编程列出200以内所有的素数,按照一行8个的格式输出,并求出所有素数的平均值,
#include<math.h>
main()
{
int m,i,k,n=0;
for(m=2;m<=200;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>=k+1)
{
main()
{
int m,i,k,n=0;
for(m=2;m<=200;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>=k+1)
{
printf("%4d",m);
n++;
}
if(n%8==0)
{
printf("\n");
}
}
printf("\n");
}
n++;
}
if(n%8==0)
{
printf("\n");
}
}
printf("\n");
}
6、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1+1/3+1/5...+1/n
#include <iostream.h>
#include <string.h>
#include <string.h>
double fun1(double n)
{
double sum=0;
double m=0;
for(int i=2; i<=n; i+=2)
{
m=1/n;
sum+=m;
}
return sum;
}
double fun2(double n)
{
double sum=0;
double m=0;
for(int i=1; i<=n; i+=2)
{
m=1/n;
sum+=m;
}
return sum;
}
void main()
{
int num;
cin>>num;
if(num%2==0)
{
double m=0;
for(int i=1; i<=n; i+=2)
{
m=1/n;
sum+=m;
}
return sum;
}
void main()
{
int num;
cin>>num;
if(num%2==0)
{
cout<<fun1(num)<<endl;
}
else
{
cout<<fun2(num)<<endl;
}
}
}
else
{
cout<<fun2(num)<<endl;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论