题目1 使用函数计算两点间的距离
(1)实验代码
#include <stdio.h>
#include <math.h>
double dist( double x1, double y1, double x2, double y2 );
int main()
{   
    double x1, y1, x2, y2;
scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2);
    printf("dist = %.2f\n", dist(x1, y1, x2, y2));
return 0;
}
double dist( double x1, double y1, double x2, double y2 )
{
 double x, y, s;
 x = pow((x1 - x2), 2);
 y = pow((y1 - y2), 2);
 s = sqrt(x + y);
 
 return s;
}
(2)设计思路
第一步:这是个数学公式直接套用就行
第二步:返回计算出的值
(3)本题调试过程碰到问题及解决办法
一个公式,不难。一次通过
(4)运行结果截图

题目2 符号函数
(1)实验代码
#include <stdio.h>
int sign( int x );
int main()
{
    int x;
scanf("%d", &x);
    printf("sign(%d) = %d\n", x, sign(x));
return 0;
}
int sign( int x )
{
 
 if(x>0)
 x = 1;
 
 if(x==0)
 x = 0;
 
 if(x<0)
 x = -1;
 
 return x;
}
(2)设计思路
第一步:用三个if语句判断
第二步:赋值相应的值给x
第三步:返回x的值
(3)本题调试过程碰到问题及解决办法
一次过,没什么问题
(4)运行结果截图

题目3 使用函数计算两个复数之积
(1)实验代码
#include<stdio.h>
double result_real, result_imag;
void complex_prod( double x1, double y1, double x2, double y2 );
int main(void)
{
    double imag1, imag2, real1, real2; 
scanf("%lf %lf", &real1, &imag1);    
    scanf("%lf %lf", &real2, &imag2);    
    complex_prod(real1, imag1, real2, imag2);  
    printf("product of complex is (%f)+(%f)i\n", result_real, result_imag);
 
    return 0;
}
void complex_prod( double x1, double y1, double x2, double y2 )
{
 result_real = x1*x2 - y1*y2;
 result_imag = x1*y2 + x2*y1;
 }
(2)设计思路
第一步:题目给了计算的公式
第二步:直接套用,void是没有返回值的
第三步:得出结果
(3)本题调试过程碰到问题及解决办法
无问题,一次过
(4)运行结果截图

题目4 8 使用函数求最大公约数
(1)实验代码
#include <stdio.h>
int gcd( int x, int y );
int main()
{
    int x, y;
scanf("%d %d", &x, &y);
    printf("%d\n", gcd(x, y));
return 0;
}
int gcd( int x, int y )
{
 int i;
for(i=x;i>=1;i--)
 {
  if(x%i==0&&y%i==0)
  break;
 }
 return i;
}
(2)设计思路
第一步:题目给的是求最大公约数,所以我们可以从x本身开始除起,每次递减一
第二步:定义 变量,用for循环
第三步:用if判断,同时满足两个数都能相除
第四步:返回i值
(3)本题调试过程碰到问题及解决办法
一次通过,无问题。
(4)运行结果截图

题目5 使用函数输出水仙花数
(1)实验代码
#include <stdio.h>
int narcissistic( int number );
void PrintN( int m, int n );
int main()
{
    int m, n;
scanf("%d %d", &m, &n);
    if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);
    PrintN(m, n);
    if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);
return 0;
}
int narcissistic(int number)
{
    int i, j, digit, power, powerSum, integer, count, flag; 
count = 0;
    integer = number;//赋值计算
while (integer > 0)//判断有几位数
    {
        integer = integer / 10;
        count++;
    }
    powerSum = 0;
    integer = number;//重新赋值
   
    for (i = 0; i < count; i++)
    {
        digit = integer % 10;//每次拆个位数
        integer = integer / 10;//降位
        power = 1;
       
        for (j = 0; j < count; j++)//有几位数乘几次
            power = power*digit;
powerSum = powerSum + power;//将每位数成完后累加
    }
    if (powerSum == number)
        flag = 1;
       
    else
        flag = 0;
       
    return flag;
}
void PrintN(int m, int n)
{
    int i;
    for (i = m + 1; i < n; i++)
    {
        if (narcissistic(i) == 1)
            printf("%d\n", i);
    }
}
(2)设计思路
第一步:先可以把判断水仙花数这个函数写完,另外一个函数就调用这个函数
第二步:看代码上的注释
(3)本题调试过程碰到问题及解决办法
小问题比较多,一个是m==n时的输出,还有没看清题目,是有几位数就是几次幂。
(4)运行结果截图

转载于:https://www.cnblogs.com/zw431387/p/10086446.html

第十三周编程总结--助教相关推荐

  1. 哈工大C语言程序设计精髓MOOC 第十三周编程题

    第13周--原来内存也可以这么玩,我是指针我怕谁 练兵区--编程题--不计入总分 2寻找最高分成绩的学生(4分) 题目内容: 下面程序的功能是用动态数组编程输入任意m个班学生(每班n个学生)的某门课的 ...

  2. 第十一周编程总结--助教

    题目1 打印九九口诀表 (1)实验代码 #include<stdio.h> int main () {  int i, j, n;    scanf("%d", &am ...

  3. C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入

    例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...

  4. C语言编程>第十三周 ⑧ 已知学生的记录由学号和学习成绩组成,M名学生的数据已存入stu结构体数组中。请编写函数fun,该函数的功能是:

    例题:已知学生的记录由学号和学习成绩组成,M名学生的数据已存入stu结构体数组中.请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分).已给出函数的首部, ...

  5. C语言编程>第二十三周 ⑤ 请补充main函数,该函数的功能是:求1~100(不包括100)以内所有素数的平均值。

    例题:请补充main函数,该函数的功能是:求1-100(不包括100)以内所有素数的平均值. 仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容. 代码如下: #include< ...

  6. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十三周题解(个人向仅供参考)

    第十三周 结构与共用体 1 某班有5名同学,建立一个学生的简单信息表,包括学号.姓名.3门课程的成绩,编写程序,计算每名学生的平均成绩及名次.(30分) 题目内容: 某班有5名同学,建立一个学生的简单 ...

  7. 20135203齐岳 信息安全系统设计基础第十三周学习总结

    20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...

  8. 201521123122 《java程序设计》第十三周学习总结

    ## 201521123122 <java程序设计>第十三周实验总结 ## 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1 ...

  9. 20145203 《信息安全系统设计基础》第十三周学习总结

    20145203 <信息安全系统设计基础>第十三周学习总结 第十二章 并发编程 教材学习内容总结 绪论 三种基本的构造并发程序的方法: ①进程: 每个逻辑控制流是一个进程,由内核进行调度, ...

最新文章

  1. 突破Windows下select64的限制
  2. Java培训学习笔记分享:SpringMVC框架
  3. VTK:隐式二次元用法实战
  4. 多级神经网络结构表达文档语义性能更好吗
  5. c中session的用法
  6. 1102 Invert a Binary Tree(甲级)
  7. git 的 merge 默认有commit操作
  8. Linux学习笔记017---文件解压命令的使用_压缩解压
  9. ROS☞通过两种方法提取.bag中的图像数据
  10. Android Intent调用大全、系统自带Intent调用大全
  11. A4张的尺寸大小是多大?像素又是多少呢?
  12. 华为手机进入汽车自动打开热点
  13. 基于面板数据的熵值法介绍与实现
  14. 被互联网租房套路割韭菜的年轻人
  15. 2017年软考程序员下午题第二题
  16. ActiveMQ 镜像队列Mirrored Queues
  17. mysql数据库状态如何监控数据库_MySQL数据库之zabbix3.2监控MYSQL状态
  18. vsCode在window电脑中安装FiraCode字体(好看字体)
  19. haster、setattr、getattr的区别
  20. 图像分割与提取:交互式前景提取(附OpenCV代码实现)

热门文章

  1. QT每日一练day16:QMessageBox消息对话框
  2. mysql 去重 根据id_mysql去重,只留一个(id最小的)
  3. linkedin api php,php – 如何使用linkedin api发送消息/通知?
  4. portal认证 php,如何用PHP制作OSSH 免费版华为Portal系统认证前端页面
  5. java调用下载窗口_java 从网络Url中下载文件 java调用url接口
  6. 2015计算机二级c语言题库,2015年计算机二级C语言题库找题目录
  7. 计算机无法启动显示空格闪烁,我的电脑打不开怎么把硬盘格式化
  8. 微服务集成cas_Spring Cloud(四) Spring Cloud Security集成CAS (单点登录)对微服务认证...
  9. 图像处理保研面试_细思极妙的保研面试经验汇总?这些小技巧太加分了吧
  10. matplotlib 直方图_掌握了Matplotlib这两个方法,轻松绘制出漂亮的直方图!