第三周

求一个数组中所有素数的和

#include <stdio.h>
int prime(int v)
{
int i,flag=1;
if(v<=1)
return 0;
else
{
for(i=2;i<v;i++)
if(v%i==0)
{flag=0;break;}
return flag;
}
}

main()
{
int a[5],i,sum=0;
printf(“input 5 numbers\n”);
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i]*prime(a[i]);

 }
 printf("sum of prime=%d",sum);

}

#include <stdio.h>
void sortarr(int a[],int n)
{
int i,j,t;
for(i=0;i<n;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;} //使用冒泡法进行排序
}//调用 sortarr(b,5) b是数组名,5为个数
main()
{
int b[5],i;
for(i=0;i<5;i++)
scanf("%d",&b[i]);
sortarr(b,5);
for(i=0;i<5;i++)
printf("%d ",b[i]);
}

#include <stdio.h>
void reverse(int b[][5])
{
int i,j,t;
for(i=0;i<5;i++) //对二位数组进行转置
for(j=0;j<i;j++)
{
t=b[i][j];
b[i][j]=b[j][i];
b[j][i]=t;

	}

}

void printarr(int a[][5]) //输出二位数组
{
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}

main()
{
int a[5][5],i,j;
for(i=0;i<5;j++)
for(j=0;j<5;j++);

		a[i][j]=i*10+j;
printf("\n");
printarr(a);
reverse(a);
printf("\n");
printarr(a);

}

#include <stdio.h>
int main()
{
int i,n,sum=0;
for (i=1;;i++)
{
scanf("%d",&n);
if(n > 0)
{
sum = sum + n;
}
if(n < 0)
{
continue;
}
if(n == 0)
{
break;
}
}
printf("%d\n",sum);
return 0 ;

}

#include <stdio.h>

int main()
{
int n,sum=0,i=1;
scanf("%d",&n);
do
{
sum+=i;
}while(i++<n);
printf("%d\n",sum);
return 0;
}

斐波那契求n
#include <stdio.h>
int main()
{
int f1=1,f2=1,i=1,n,s;
scanf("%d",&n);
if(n1)
printf(“1”);
if(n
2)
printf(“1”);
else
{
while(i<=n-2)
{
s=f1+f2;
f1=f2;
f2=s;
i=i+1;
}
printf("%d\n",s);
}
}

#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c;
while(scanf("%f%f%f",&a,&b,&c)!=EOF)
{

if (b*b-4*a*c>0)
{
    double x1,x2;
    x1=(-b+sqrt(b*b-4*a*c))/(2*a);
    x2=(-b-sqrt(b*b-4*a*c))/(2*a);
    printf("x1=%.3lf x2=%.3lf\n",x1,x2);
}
if (b*b-4*a*c==0)
{
    double x;
    x=(-b)/(2*a);
    printf("x1=x2=%.3lf\n",x);
}
if (b*b-4*a*c<0)
{   double r,v;
    r=-b/(2*a);
    v=sqrt(-b*b+4*a*c)/(2*a);
    printf("x1=%.3lf+%.3lfi ",r,v);
    printf("x2=%.3lf-%.3lfi\n",r,v);
}
	}
return 0;

}

#include <stdio.h>
main()
{
int i,j,k,x,p,t,a[10000],n;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
p=i;
for(j=i+1;j<n;j++)
if(a[j]<a[p])p=j;
if(i!=p){
t=a[i];
a[i]=a[p];
a[p]=t;
}

}
scanf("%d",&x);
for(i=0;i<n;i++)
	if(x<a[i])
	{
		for(k=n-1;k>=i;k--)a[k+1]=a[k];
		break;
	}
a[i]=x;
for(i=0;i<=n;i++)
	printf("%d ",a[i]);
printf("\n");	
}	

}

#include<stdio.h>
#include<string.h>
int fun(char p[])
{
int i,count=0;
for(i=0; p[i]!=0;i++)
{
if(p[i]>=‘a’&&p[i]<=‘z’)
{
count++;
}
if(p[i]>=‘A’&&p[i]<=‘Z’)
{
count++;
}
}
return count;
}
main()
{
char p[100];
int s;
while(gets§)
{
s=fun§;
printf("%d\n",s);
}
}

#include<stdio.h>
void d(int x,int n)
{
int a;
a=x%n;
if(x>=n)
d(x/n,n);
putchar(‘0’+a);
}
main()
{
int x,n;
while(scanf("%d%d",&x,&n)!=EOF)
{
d(x,n);
putchar(’\n’);
}
}

#include<stdio.h>
int d(int x,int n)
{
int a;
a=x%n;//先求个位的数
if(x>=n)
d(x/n,n);//如果x大于你,再求十位的数
putchar(‘0’+a);//反向输出
return 0;
}
int main()
{
int x,n;
while(scanf("%d%d",&x,&n)!=EOF)
{
d(x,n);
putchar(’\n’);
}
}

#include <stdio.h>

int e(int n)
{
if(n == 2)
    return n;

else
return n+e(n-2);
}

main()
{
int n;
scanf("%d",&n);

printf("%d",e(n));

}

二分法求一元三次方程的根
#include <stdio.h>
#include <math.h>
double a,b,c,d;
double f(double x) //计算函数
{
return axxx+bxx+cx+d;
}
int main()
{
while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d)!=EOF)
{
for(double i=-10;i<=10;i++) //列举,两解差〉1
{
double x=i,y=i+1; //相距1的两点
if(f(x)==0) //x为解,y为解在下一循环判断
printf("%.3f “,x);
else if(f(x)*f(y)<0) //x y间有解
{
while(y-x>=0.001) //精度控制
{
double t=(x+y)/2; //取中点
if(f(x)*f(t)<=0) y=t; //解(x,t]
else x=t; //f(x)*f(t)>0 解 (t,y)
}
printf(”%.3f “,x); //输出x
}
}
printf(”\n");
}
return 0;
}

#include <stdio.h>
#include <math.h>
/* 利用泰勒级数sin(x)=x-x3/3!+x5/5!-x7/7!+x9/9!-…
计算sin(x)的值。要求最后一项的绝对值小于10^(-5)/
void main(){
double sum,item;
int i=0,count=0;
float x;
printf(“Input x: “);
scanf(”%f”,&x);
sum=x;
item=x;//初始化赋值 item存放每一项的值
do{
i++;
item = -item
xx/((2i)(2i+1));//第一項为-x^3/3! item=-xxx/(23)
//第二项为x^5/5! 直接对第一項取负,-item
xx/(45),后面以此类推
sum+=item;
count++;
}while(fabs(item)>=1e-5);
printf(“sin(%f)=%6.6lf,count=%d\n”,x,sum,count);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值