头歌4月27日

求各位数字之积

/*
计算正整数num的各位上的数字之积
*/
#include<stdio.h>
int main(){
	int x;
	int s=1;
	scanf("%d",&x);
	int y=x;
	int cnt=0;
	int mask=1;
	while(x>9){
		x /=10;
		mask *=10;
	}
	do{
		int d=y/mask;
		s=s*d;
		y %= mask;
		mask /=10;
		
	}while( mask>0);
	  printf("%d",s);
	return 0;
}

求阶乘之和

/*
编写一个程序,任意输入n,求S=1!+2!+...+n!
*/
#include<stdio.h>
int main(){
	int a;
	int i;
    int ret = 1;
    int sum = 0;
	scanf("%d",&a);
    for (i = 1; i <= a; i++)
    {
        ret *= i;
        sum += ret;
    }
    printf("%d\n", sum);
	return 0;
}

求平均成绩

/*
编写一个程序,输入学生人数和每个人的成绩,计算平均成绩。
######注意:当输入的学生人数小于等于0时,输出平均成绩为0分!  
*/
#include<stdio.h>
int main(){
	int i,num;
	  float average,sum=0,a[1000];
	  scanf("%d",&num);
	  if(num<=0)
	  {
		printf("the number of students:the scores:average=0.00");
	  	return 0;
	  } 
	  for(i=0;i<num;i++){
		  scanf("%f",&a[i]);
	  }
	  for(i=0;i<num;i++){
		  sum=sum+a[i];
	  }
	  average=sum/num;
	  printf("the number of students:the scores:average=%.2f",average);

	return 0;
}

求水仙花数

/*
求出所有的水仙花数。
*/
#include<stdio.h>
int main(){
	int i;
	  scanf("%d",&i);
	  for(i=100;i<1000;i++){
		  int a=i/100;
	  	  int b=i/10%10;
	  	  int c=i%10;
			if(i==a*a*a+b*b*b+c*c*c){
				printf("%d ",i);
			}
	  }
	return 0;
}

寻找完数

/*
一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出1000之内的所有完数。
*/
#include<stdio.h>
int main(){
	int a;
	scanf("%d",&a);
	int i,b,sum;
	for(i=2;i<=a;i++){
		sum=0;
		for(b=1;b<i;b++){
			if(i%b==0){
				sum+=b;
			}
		}
		if(i==sum){
			printf("%d\n",i);
	}
}
	return 0;
}

编写程序计算

/*
编写程序计算   1 - 1/2 + 1/3 - 1/4 + ..... +1/99 - 1/100 的值,并显示出来(保留结果为小数点后三位)。
*/
#include<stdio.h>
int main(){
	int n=100,i;
	double sign=1.0;
	double sum=0.0;
	
	for(i=1;i<=n;i++){
		sum += sign/i;
		sign*=-1;
	}
	printf("%.3f",sum);
	return 0;
}

求sn和

/*
键盘输入正整数a和n,编程 s=a+aa+aaa+aaaa+aa...a(n个a)的值。
*/
#include<stdio.h>
int main(){
	int a,n;
	int s=0;
	int i;
	int sum=0;
	scanf("%d %d",&a,&n);
	for(i=1;i<=n;i++){
		int b=a;
		a*=10;
		s+=b;
		printf("%d \n",s);
		sum+=s;
		
	}
		printf("%d",sum);
	return 0;
}

求n以内被5整除

/*
求解出n以内(包含n)所有能被5整除的正整数数的乘积s。
*/
#include<stdio.h>
int main(){
	int n,i;
	int s=1;
	scanf("%d",&n);
	if(n>=0&&n<=100){
		for(i=1;i<=n;i++){
		if(i%5==0){
			s=s*i;
		}
	}
	}
	printf("%d",s);
	return 0;
}

求立方和

/*
求一个四位数的各位数字的立方和。
*/
#include<stdio.h>
#include<math.h>
int fun(int n)
{ 
  
  int sum=0,a,b,c,d;
  a=n%10;
  b=n%100/10;
  c=n%1000/100;
  d=n/1000;
  sum=a*a*a+b*b*b+c*c*c+d*d*d;
  return sum;
  
}

int main()
{
    int n,k;
    scanf("%4d",&n);
    k=fun(n);
    printf("k=%d\n",k);
    return 0;
}

求素数和

/*
求给定正整数m以内的素数之和。
*/
#include<stdio.h>
int fun(int m)
{
    int x,sum=0;
    for(x=2;x<m;x++){
        int i;
        int isPrime = 1;
        for(i=2;i<x;i++){
            if(x%i==0){
                isPrime = 0;
                break;
            }
        }
        if(isPrime == 1){
            sum = sum+x;         
        }	    
    }    
return sum;

}

统计中英文字母

/*
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
*/
#include<stdio.h>
int main(void){
	int a=0,b=0,c=0,d=0;
	char x;
	scanf("%d",&x);
	while((x=getchar())!='\n'){
		if((x>='a'&&x<='z')||(x>='A'&&x<='Z'))
			a++;
			else if(x>='0'&&x<='9')
			b++;
			else if(x==' ')
			c++;
			else
			d++;
	}
	printf("%d %d %d %d",a,b,c,d);
	return 0;
}

小球自由落体

/*
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 结果保留两位小数。
*/
#include<stdio.h>
int main(){
	int M,N;
	int i;
	float x,height;
	scanf("%d %d",&M,&N);
	height=M/2;
	x=M;
	for(i=2;i<=N;i++){
		x+=height*2;
		height/=2;
	}
	printf("%.2f %.2f",height,x);
	return 0;
}

组合排列

/*
学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元。现输入学生总人数30,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?
*/
#include<stdio.h>
int main(){
	 int x,y,z,sum;
    sum=0;
    for(x=1;x<30;x++)
    {
        for(y=1;y<30;y++)
        {
            z=30-x-y;
            if(z!=0&&3*x+2*y+z==50)
                {
                    printf("大学生%d,中学生%d,小学生%d\n",x,y,z);
                    sum=sum+1;
                }    
            else
                continue;
        }
    }
    printf("sum=%d\n",sum);
	return 0;
}

最大公约数和最小公倍数

/*
输入两个正整数m和n,求其最大公约数和最小公倍数
*/
#include<stdio.h>
int main(){
	int m,n;
	scanf("%d %d",&m,&n);
	int x=m,y=n;
	while(m!=n){
		if(m>n){
			m-=n;
		}
		if(m<n){
			n-=m;
		}
	}
	printf("最大公约数:%d\n",n);
	printf("最小公倍数:%d",x*y/n);
	return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值