当前位置: 首页 > news >正文

头歌实验---C/C++程序设计:实验四:循环结构程序设计

目录

第1关:C循环-求平均成绩

任务描述

答案代码

第2关:C循环-求各位数字之积

任务描述

答案代码

第3关:C循环-水仙花数

任务描述

答案代码

第4关:C循环-寻找完数

任务描述

答案代码

第5关:分数求和

任务描述

答案代码

第6关:小球自由落体运动

任务描述

答案代码

第7关:最大公约数和最小公倍数

任务描述

答案代码

第8关:字符串中各类字符数的统计

任务描述

答案代码


第1关:C循环-求平均成绩

任务描述

答案代码

#include<stdio.h>
	int main(void)
	{  int a,i;
        double b;
        double average,sum;
        scanf("%d",&a);
        
        if (a<=0)
        {
            printf("the number of students:the scores:average=0.00");
        }
        else 
        {
            for(i=0;i<a;i++)
            {
            scanf("%lf",&b);
            sum=b+sum;
            }
                average=sum/a;
                printf("the number of students:the scores:average=%.2lf",average);
        }       
       return 0;
	}

第2关:C循环-求各位数字之积

任务描述

答案代码

#include <stdio.h>
int main() 
{
    int num, digit, product = 1;
    scanf("%d", &num);
    while (num != 0) {
        digit = num % 10;
        product *= digit;
        num /= 10;
    }
    printf("%d\n", product);
    return 0;
}
	

第3关:C循环-水仙花数

任务描述

答案代码

#include<stdio.h>
	int main(void)
	{   int a,b,c,i;
        for(i=100;i<1000;i++)
        {
            a=i/100;
            b=(i%100)/10;
            c=((i%100)%10)/1;
            
            if(i==(a*a*a)+(b*b*b)+(c*c*c))
            {printf("%4d",i);}
            

        }
       return 0;
	}

第4关:C循环-寻找完数

任务描述

答案代码

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

第5关:分数求和

任务描述

答案代码

#include<stdio.h>
	int main(void)
	{  
        int i,b=1;
        float sum;
        for(i=1;i<101;i++)
        {
        sum=b*(1.000/i)+sum;
        b=-b;
        }
        printf("%.3f",sum);

	  /*********Begin*********/
	  
	  
	  /*********End**********/ 
       return 0;
	}

第6关:小球自由落体运动

任务描述

答案代码

#include<stdio.h>
 int main(void)
 {  
   /*********Begin*********/
 float m,n,h,i,t,sum;
 scanf("%f %f",&m,&n);
 sum=m;
 for(i=1;i<n;i++)
 {
 t=m/2;
 h=t/2;
 sum+=2*t;
 m=t; 
 }
 printf("%.2f %.2f",h,sum);
   /*********End**********/ 
       return 0;
 }

第7关:最大公约数和最小公倍数

任务描述

答案代码

#include <stdio.h>  
  
int gcd(int a, int b) {  
    if (b == 0)  
        return a;  
    else  
        return gcd(b, a % b);  
}  
  
int lcm(int a, int b) {  
    return (a * b) / gcd(a, b);  
}  
  
int main() {  
    int m, n;   
    scanf("%d %d", &m, &n);  
    printf("最大公约数是:%d\n", gcd(m, n));  
    printf("最小公倍数是:%d", lcm(m, n));  
    return 0;  
}

第8关:字符串中各类字符数的统计

任务描述

答案代码

#include <stdio.h>  
#include <ctype.h>  
  
int main() {  
    char c;  
    int letter = 0, digit = 0, space = 0, other = 0;    
  
    c = getchar();  
    while (c != '\n') {  
        if (isalpha(c)) {  
            letter++;  
        } else if (isdigit(c)) {  
            digit++;  
        } else if (isspace(c)) {  
            space++;  
        } else {  
            other++;  
        }  
        c = getchar();  
    }  
    printf("%d %d %d %d",letter,digit,space,other);
 
  
    return 0;  
}

相关文章:

  • 2024贵州大学计算机考研复试上机真题
  • 慢SQL如何定位处理?
  • RuoYi-Cloud-Plus 配置
  • Linux服务器安装cuda和cudnn实战教程
  • (done) MIT6.S081 Interrupts Lecture 学习笔记
  • GPIO及其应用
  • 面试常见问题
  • C++格式讲解
  • 《Operating System Concepts》阅读笔记:p177-p178
  • 专业便捷PDF软件,即开即用
  • 提升系统效能:从流量控制到并发处理的全面解析
  • Linux:进程替换
  • 【漫话机器学习系列】111.指数之和的对数(Log-Sum-Exp)
  • linux--多进程开发(7) 信号、相关函数、信号集及其操作和捕获、SIGCHLD解决僵尸进程
  • Notepad++下载地址【亲测好用】
  • 2025年生成式人工智能应用工程师学习线路
  • 数据库基础(MySQL)
  • 快速上手 Spring Boot:基础使用详解
  • 什么是kube-proxy?
  • 【每日一题 | 2025】2.24 ~ 3.2
  • 泽连斯基:乌代表团已启程,谈判可能于今晚或明天举行
  • 共建医学人工智能高地,上海卫健委与徐汇区将在这些方面合作
  • 中国海警舰艇编队5月14日在我钓鱼岛领海巡航
  • 王毅谈中拉命运共同体建设“五大工程”及落实举措
  • 220名“特朗普币”持有者花1.48亿美元,获邀与特朗普共进晚餐
  • 最高降价三成,苹果中国iPhone开启大促销,能拉动多少销量?