实验10.1
//求任意两个正整数的最小公倍数
#include <stdio.h>int gbs(int m, int n)
{int r, p;p = m * n;while ((r = m % n) != 0){m = n;n = r;}p = p / n;return(p);
}int main()
{int a, b, c;printf("Enter two integers: ");scanf("%d%d", &a, &b);c = gbs(a, b);printf("c=%d\n", c);system("pause");return;
}
实验10.2
//输入m和n(m>=1,n<=100),输出m`n之间的完数:因子和它本身相等的数
#include <stdio.h>int factsum(int n); //对函数进行声明int main()
{int i, m, n, result;printf("Enter two integer numbers m and n: ");scanf_s("%d%d", &m, &n);if (m > n){i = m; m = n; n = i;    //使m<n}for (i = m; i <= n; i++){result = factsum(i);if (i == result)   //判断是否是完数printf("%d\n", i);}system("pause");return;
}int    factsum(int n)  //求因数和余数
{int i, sum;sum = 1;for (i = 2; i <= (n / 2); i++)  //找出所有因子if (n % i == 0)               //累加因子sum = sum + i;          //返回因子和return sum;
}
实验10.3
//输入一个正整数n,以每行3个的形式输出小于n的所有素数
#include <stdio.h>int prime(int m)
{int i;for(i=2;i<m-1;i++) //判断素数if(m%i==0)return(0);return (1);         //是素数,返回1
}
int main()
{int i ,n, k=0;printf("Enter a integer:");scanf("%d",&n);for(i=2;i<=n;i++)if(prime(i))      //调用函数判断素数{printf("%4d",i);k++;if(k%3==0)     //换行printf("\n");}printf("\n");system ("pause");return;
}
实验10.4
//求出score数组中十个元素的平均值、最大值和最小值
#include<stdio.h>
float max = 0, min = 0;//全局变量
float average(float array[], int n)
{int i;float aver, sum = array[0];max = min = array[0];//初始化最大最小值for (i = 1; i < n; i++){if (array[i] > max)//找出最大值max = array[i];else if (array[i] < min)//找出最小值min = array[i];sum = sum + array[i];}aver = sum / n;return aver;
}
int main()
{float ave, score[10];int i;for (i = 0; i < 10; i++)scanf("%f", &score[i]);ave = average(score, 10);//调用函数printf(" max=%.0f\n min=%.0f\n average=%.2f\n", max, min, ave);system("pause");return 0;
}
实验10.5
//寻找:百位数为0,去掉百位数0可得到一个三位正整数,而该三位正整数乘以9等于原四位正整数 的数
#include<stdio.h>
int fun(int n)
{int a, b, c, d;a = n / 1000;b = (n / 100) % 10;c = (n - a * 1000 - b * 100) / 10;d = n % 10;if ((b == 0) && ((a * 100 + c * 10 + d) * 9 == n))return 1;elsereturn 0;
}int main()
{int i;for (i = 1000; i < 10000; i++)if (fun(i))printf("%6d", i);printf("\n");system("pause");return 0;
}
实验10.6
#include<stdio.h>int prime(int n)//判断n是否为素数
{int i;for (i = 2; i < n - 1; i++)if (n % i == 0)return 0;return 1;
}int main()
{int m, n, k=0, flag;for (n = 2; n < 2000; n++)if (prime(n) == 0)//若不是素数则判断下一个continue;else{m = n;flag = 1;//标志变量变为一while (m>0){m = m / 10;//依次去掉一位数字if (!prime(m)){flag = 0;//若不是素数标志变量置为0break;}}if (flag)//若是素数则输出{printf("\t%d", n);k++;if (k % 5 == 0)printf("\n");}}printf("\n");system("pause");return 0;}
实验10.7
//输出1~100各位数乘积大于各位数和的数
#include<stdio.h>int func(int n)
{int k = 1, s = 0, m = n, t;while (m){t = m % 10;k = k * t;s = s + t;m = m / 10;}if (k > s)return 1;elsereturn 0;
}int main()
{int l = 0;for (int num = 1; num <= 100; num++){if (func(num)){printf("\t%d", num);l++;if (l % 5 == 0)printf("\n");}}printf("\n");system("pause");return 0;
}
实验10.8
//验证哥德巴赫猜想:任何充分大的偶数都可以由两个素数之和来表示
#include <stdio.h>
#include <math.h>int isprime(int n)
{if (n == 1)return 0;for (int i = 2; i <= n - 1; i++){if (n % i == 0)return 0; //不是素数返回0}return 1;
}
void print_prime(num)
{int n = num;for (int i = 2; i <= sqrt(n) + 1; i++){if (isprime(i) && isprime(n - i))//都是素数,则打印{printf("%d = %d + %d\n", n, i, n - i);break;}}
}
int main()
{for (int x = 4; x <= 20; x++)print_prime(x);system("pause");return 0;
}
实验10.9
//输出100以内的正整数包含3,5,7中的一个的数.
#include <stdio.h>int func(int n)
{int x1, x2;x1 = n % 10;//个位x2 = n / 10;//十位if (n == 3 || n == 5 || n == 7)return 1;else if (x1 == 3 || x1 == 5 || x1 == 7 || x2 == 3 || x2 == 5 || x2 == 7)return 1;elsereturn 0;
}int main()
{int l = 0;for ( int num = 1; num < 100; num++){if (func(num)){printf("\t%d", num);l++;if (l % 5 == 0)printf("\n");}}printf("\n");system("pause");return 0;
}
实验11.1
//用递归的方法求前n项和
#include <stdio.h>int main()
{int n,s;printf("请输入n的值:");scanf("%d",&n);s=sum(n);printf("%d",s);printf("\n");system ("pause");return;
}int sum(int n){if(n==0)return 0;elsereturn n+sum(n-1);
}
实验11.2
//用递归的方法逆序输出一个整数
#include <stdio.h>int main()
{void printn(int x);int n;scanf("%d",&n);if(n<0){n=-n;putchar('-');}printn(n);      //调用函数printf("\n");system ("pause");return;
}void printn(int x)
{if(x>=0&&x<=9)printf("%d",x);else{printf("%d",x%10);printn(x/10);          //将除去个位的数字作为新的整数继续递归}
}
实验11.3
//用递归的方法输出10行杨辉三角
#include <stdio.h>int main()
{int yang(int x,int y);int i,j,k;for(i=1;i<=10;i++){for(j=0;j<30-2*i;j++)printf(" ");        //打印行首空格for(k=1;k<=i;k++)printf("%4d",yang(i,k));printf("\n");}printf("\n");system ("pause");return;
}int yang(int x,int y)
{int z;if(y==1||y==x)                   z=1;elsez=yang(x-1,y-1)+yang(x-1,y);return z;
}
实验11.4
//输出一个不小于n的最小Fibonacci数
#include <stdio.h>
#include <math.h>int fib(int n)
{int f;if(n==0||n==1)f=1;elsef=fib(n-1)+fib(n-2);return f;
}int main()
{int i,m,result;printf("Please input a natural number:");scanf("%d",&m);i=1;while((result=fib(i))<m)i++;printf("Meet the conditions of the Fibonacci number is: %d \n",result);system ("pause");return;
}
实验11.5
//重排数组元素,偶数放在数组左边,奇数放在数组右边
#include <stdio.h>void judge1(int* b, int n)
{int i, j, k, temp;for (i = 0, j = n - 1; i < j;){if ((b[i] % 2) == 1)//若是奇数,则将其移到右部{for (k = i; k < j; k++){temp = b[k + 1];b[k + 1] = b[k];b[k] = temp;}j--; //奇数移到右部后,将下标-1}elsei++;   //若是偶数,则将下标+1}
}int main()
{int a[10] = { 21,34,224,25,367,41,736,37,42,456 }, i;for (i = 0; i < 10; i++)printf("%5d ", a[i]);judge1(a, 10);  //调用函数重新排序printf("\n");for (i = 0; i < 10; i++)printf("%5d ", a[i]);printf("\n");system("pause");return 0;
}
实验11.6
//使用递归函数求整数x和y的最大公约数
#include <stdio.h>
int gcd(int x, int y);
void main()
{int x, y, z;scanf("%d%d", &x, &y);z = gcd(x, y);printf("%d\n", z);system("pause");return 0;
}
int gcd(int x, int y)
{if (y == 0)return x;if (x < y)return gcd(y, x);if (x % y == 0)return y;return gcd(y, x % y);
}
实验11.7
//使用递归函数求x的n次方
#include <stdio.h>
int a(int x, int n)
{if (n == 0)return  1;elsereturn a(x, n - 1) * x;
}
int main()
{int x, n;printf("请输入x和n\n");scanf("%d%d", &x, &n);printf("结果是:%d\n", a(x, n));system("pause");return;
}

实验七 函数程序设计 张玉生《C语言程序设计实训教程》双色版 配套实验书答案 (纯手打, 仅供参考)相关推荐

  1. 实验六 数组程序设计 → 张玉生《C语言程序设计实训教程》双色版 配套实验书答案 (纯手打, 仅供参考)

    实验8.1 //取出正整数中的偶数字,并用这些数字构成一个最大数 #include <stdio.h> #define N 10int main() {int i, j, k = 0, t ...

  2. 实验二 数据类型、运算符与表达式→ 张玉生《C语言程序设计实训教程》双色版 配套实验书答案 (纯手打, 仅供参考)

    实验2.1 #include<stdio.h>int main() {printf("What's "); /*输出 What's */printf("you ...

  3. 实验五 循环结构程序设计 → 张玉生《C语言程序设计实训教程》双色版 配套实验书答案 (纯手打, 仅供参考)

    实验6.1 //程序功能:输入一个整数n,求1/1-2/3+3/5-4/7+5/9-6/11+--的前n项之和 #include <stdio.h>int main() {int i, n ...

  4. c语言程序设计主编张玉生教材答案,清华大学出版社-图书详情-《Visual Basic程序设计实验指导》...

    前言 Visual Basic程序设计实验指导本书是<Visual Basic 程序设计教程>的配套实验指导书,全书内容分为四部分. 第1部分为实验指导,设计了18个实验,每个实验都是编者 ...

  5. c语言实验七 函数实验报告,C语言实验七函数实验报告.doc

    C语言实验七函数实验报告 C语言程序设计 实 验 报 告 实验题目 实验七 函数 实验目的 掌握函数定义的方法: 掌握函数实参与形参的对应关系,以及值传递的方式. 掌握函数的嵌套调用和递归调用的方法: ...

  6. c语言程序设计谭晓玲,C语言程序设计教程 教学课件 作者 张思卿谭晓玲 主编 附录部分.doc...

    资料仅供参考 附录1: C语言中的运算符及优先级 优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名 ...

  7. arduino串口监视器显示nan_Arduino小白的学习记录:双色LED灯实验

    一.介绍 双色发光二极管(LED)能够发出两种不同颜色的光,通常是红的和绿色的,而不是仅有一种颜色.它采用3mm或5mm环氧树脂封装.它有3个引脚,共阴极或者共阳极可用.双色LED具有两个LED端子或 ...

  8. Arduino小白学习记录:双色LED灯实验

    目录 一.介绍 二.材料准备 三.实验原理 四.实验过程 五.代码 六.效果展示 七.总结分析 一.介绍 双色发光二极管(LED)能够发出两种不同颜色的光,通常是红的和绿色的,而不是仅有一种颜色.它采 ...

  9. c语言程序设计实训教程刘涛夏启寿,C语言程序设计

    作者:夏启寿\刘涛 责编:赵丽欣\郭丽娜 出版社:科学出版社 ISBN书号:978-7-03-036128-8 发行号:TP-6139.0101 出版日期:2013-1-11 定价:36 内容简介: ...

最新文章

  1. java确定一个整数是否溢出,java-判断一个整数是不是回文,考虑溢出
  2. 【c语言】蓝桥杯算法提高 3-1课后习题2
  3. 聚类图像像素 Clustering Pixels Using K-Means
  4. 通讯录新建分组功能php,微信通讯录分组怎么设置
  5. 挖矿为什么要用显卡_Conflux显卡挖矿收益很高吗?挖矿指南与核算手册
  6. struts过滤器和拦截器的区别
  7. spark-OutOfMemory:GC overhead limit exceeded 解决,timelimitexceeded
  8. SQLServer 2005新功能
  9. PyCharm大全(转)
  10. 新版掌上阅读小说源码+支持公众号/分站/封装APP
  11. 欧姆龙HOSTLINK协议,上位机软件欧姆龙HOSTLINK协议,适合欧姆龙全系列PLC
  12. Photoshop2019 安装破解
  13. 使用友盟+实现第三方登录(QQ、微信、微博)
  14. 计算机风景画作品,电脑风景画图片
  15. Linux中如何让命令在后台运行
  16. ChatGPT还在2G冲浪?新模型「youChat」:我已能够解说2022世界杯
  17. DP1.4 (DisplayPort)相关测试
  18. 参考文献中各字母的含义
  19. vm进入bios设置的方法
  20. 配置msp432e401y的ADC采样达到2M

热门文章

  1. 外部波澜起伏,内心平静如常
  2. Unity 判断是否为预制体的根节点
  3. excel VLOOKUP函数的使用方法
  4. 华清远见嵌入式培训_第一周回顾与反思
  5. 《刨根问底系列》:序言
  6. 利用python进行保险数据分析及可视化
  7. linux ubuntu 命令行高亮
  8. php 获取当前IP地址
  9. Python 中的三元运算符,三目表达式
  10. 如何衡量品牌营销效果?四大指标为王道