C语言循环语句专项练习题

第3关:求素数之和

本关需要你使用循环语句来计算正整数m以内的素数之和。

具体任务如下:

求给定正整数m以内的素数之和。 函数fun返回求出的该值。

例如: 当m=20时,20以内的素数有2,3,5,7,11,13,17,19,则函数返回值为77

效果如下: 输入:20。 输出:y=77

#include <stdio.h>
int fun(int m)
{
    int sum=0,i,j;
    for (i=2;i<=m;i++){
        for(j=2;j<i;j++){
            if(i%j==0){
                break;
            }
        }
        if(i == j){
            //printf("%d\n",j);
            sum =sum+j;
        }
    }
   return sum;
}

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

第2关:求立方和

本关需要你使用循环语句求一个四位数的各位数字的立方和。

求一个四位数的各位数字的立方和。 函数fun返回求出的和值。

例如:1234的各位数字的立方和为:1^3+2^3+3^3+4^3=100 fun函数应当返回100

效果如下: 输入:1234。 输出:k=100

#include <stdio.h>
int fun(int n)
{
    int g,s,b,q;
  g = n%10;//个位
  s = n/10%10;//十位
  b = n/100%10;//百位
  q = n/1000;//千位
  return s = g*g*g+s*s*s+b*b*b+q*q*q;
}

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

第1关:组合排列计算题

具体任务如下:

学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元。现输入学生总人数30,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?

例如: 输入:30,即求总人数为30时各种不同的解,输出如下,sum表示总的解数。

#include <stdio.h>
int main()
{
	int n;
	int sum=0;
	scanf("%d",&n);
	for(int i=1;i<n;i++){
        for(int j = 1; j<n-i;j++){
            int m=30-j-i;
            if(3*i+2*j+m==50){
                    printf("大学生%d,中学生%d,小学生%d\n",i,j,m);
                    sum +=1;
            }
            }
        }
        printf("sum=%d",sum);
}

如果文章对你有帮助的话,可不可以点个赞鼓励以下我!!  ^o^   谢谢了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值