C语言实例 第六周 第一次课答案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
main()
{
int p_num, n1, c, n2, flag = 0;
REC:printf("请输入一个偶数:");
scanf("%d", &p_num);/*从键盘中输入一个偶数p_num*/
if(p_num % 2 != 0)
goto REC;
for (n1 = 3; n1 <= p_num / 2; n1 += 2)/*因为拆分成素数,所以n1每次加2*/
{
if(i%a==0&&i%b==0)
{
beishu=i;
break;
}
}
printf("数%d和%d的最小公倍数为:%d\n",a,b,beishu);
}
2.偶数拆分
从键盘中输入一个偶数,编程实现将该偶数拆分成两个素数之和(所有可能的组合)并输出在屏幕上。
#include <stdio.h>
#includeHale Waihona Puke Baidu<math.h>
main()
{
int n,i,j;
for(n=1;n<=4;n++)
{
for(i=1;i<=4-n;i++)
printf(" ");
for(j=1;j<=2*n-1;j++)
printf("*");
printf("\n");
}
for(n=1;n<=3;n++)
{
for(i=1;i<=n;i++)
printf(" ");
第六周任务(1)
1.求两个整数的最小公倍数
#include <stdio.h>
int main()
{
int a,b,temp,i,beishu;
printf("输入两个数:\n");
scanf("%d%d",&a,&b);
if(a>b)
{
temp=a;
a=b;
b=temp;
}
for(i=a;i>0;i++)
for(j=1;j<=7-2*n;j++)
printf("*");
printf("\n");
}
}
printf("第八层有%d个灯\n", m);/*输出八楼灯的数量*/
break;/*跳出循环*/
}
n++;/*灯的数量加1,继续下次循环*/
}
return 0;
}
4.打印乘法口诀表
#include <stdio.h>
main()
{
int i, j;/*定义i,j两个变量为基本整型*/
for (i = 1; i <= 9; i++)/*for循环i为乘法口诀表中的行数*/
{
for (c = 2; c <= sqrt(n1); c++)/*判断n1是否是素数*/
if (n1 % c == 0)
break;
if (c > sqrt(n1))
n2 = p_num - n1;/*如果n1是素数求出n2*/
else
continue;
for (c = 2; c <= sqrt(n2); c++)/*判断n2是否是素数*/
if (n2 % c == 0)
break;
if (c > sqrt(n2))
{
printf("拆分结果为:%d=%d+%d\n", p_num, n1, n2);/*将拆分的结果输出*/
flag = 1;/*flag置1说明至少可拆分成一组*/
}
}
if (flag == 0)
printf("不能拆分!\n");
{
for (j = 1; j <= i; j++)/*乘法口诀表中的另一个因子,取值范围受一个因子i的影响*/
printf("%d*%d=%d ", i, j, i *j);/*输出i,j及i*j的值*/
printf("\n");/*打完每行值后换行*/
}
}
}
5.用*打印菱形
#include<stdio.h>
for (i = 1; i < 8; i++)
{
m = m * 2;/*每层楼灯的数量是上一层的2倍*/
sum += m;/*计算出除一楼外灯的总数*/
}
sum += n;/*加上一楼灯的数量*/
if (sum == 765)/*判断灯的总数量是否达到765*/
{
printf("第一层有%d个灯\n", n);/*输出一楼灯的数量*/
return 0;
}
3.灯塔数量有一八层灯塔,每层的灯数都是上一层的一倍,共有765盏灯,编程求最上层与最下层的灯数。
#include <stdio.h>
main()
{
int n = 1, m, sum, i;/*定义变量为基本整形*/
while (1)
{
m = n;/*m存储一楼灯的数量*/
sum = 0;
{
int p_num, n1, c, n2, flag = 0;
REC:printf("请输入一个偶数:");
scanf("%d", &p_num);/*从键盘中输入一个偶数p_num*/
if(p_num % 2 != 0)
goto REC;
for (n1 = 3; n1 <= p_num / 2; n1 += 2)/*因为拆分成素数,所以n1每次加2*/
{
if(i%a==0&&i%b==0)
{
beishu=i;
break;
}
}
printf("数%d和%d的最小公倍数为:%d\n",a,b,beishu);
}
2.偶数拆分
从键盘中输入一个偶数,编程实现将该偶数拆分成两个素数之和(所有可能的组合)并输出在屏幕上。
#include <stdio.h>
#includeHale Waihona Puke Baidu<math.h>
main()
{
int n,i,j;
for(n=1;n<=4;n++)
{
for(i=1;i<=4-n;i++)
printf(" ");
for(j=1;j<=2*n-1;j++)
printf("*");
printf("\n");
}
for(n=1;n<=3;n++)
{
for(i=1;i<=n;i++)
printf(" ");
第六周任务(1)
1.求两个整数的最小公倍数
#include <stdio.h>
int main()
{
int a,b,temp,i,beishu;
printf("输入两个数:\n");
scanf("%d%d",&a,&b);
if(a>b)
{
temp=a;
a=b;
b=temp;
}
for(i=a;i>0;i++)
for(j=1;j<=7-2*n;j++)
printf("*");
printf("\n");
}
}
printf("第八层有%d个灯\n", m);/*输出八楼灯的数量*/
break;/*跳出循环*/
}
n++;/*灯的数量加1,继续下次循环*/
}
return 0;
}
4.打印乘法口诀表
#include <stdio.h>
main()
{
int i, j;/*定义i,j两个变量为基本整型*/
for (i = 1; i <= 9; i++)/*for循环i为乘法口诀表中的行数*/
{
for (c = 2; c <= sqrt(n1); c++)/*判断n1是否是素数*/
if (n1 % c == 0)
break;
if (c > sqrt(n1))
n2 = p_num - n1;/*如果n1是素数求出n2*/
else
continue;
for (c = 2; c <= sqrt(n2); c++)/*判断n2是否是素数*/
if (n2 % c == 0)
break;
if (c > sqrt(n2))
{
printf("拆分结果为:%d=%d+%d\n", p_num, n1, n2);/*将拆分的结果输出*/
flag = 1;/*flag置1说明至少可拆分成一组*/
}
}
if (flag == 0)
printf("不能拆分!\n");
{
for (j = 1; j <= i; j++)/*乘法口诀表中的另一个因子,取值范围受一个因子i的影响*/
printf("%d*%d=%d ", i, j, i *j);/*输出i,j及i*j的值*/
printf("\n");/*打完每行值后换行*/
}
}
}
5.用*打印菱形
#include<stdio.h>
for (i = 1; i < 8; i++)
{
m = m * 2;/*每层楼灯的数量是上一层的2倍*/
sum += m;/*计算出除一楼外灯的总数*/
}
sum += n;/*加上一楼灯的数量*/
if (sum == 765)/*判断灯的总数量是否达到765*/
{
printf("第一层有%d个灯\n", n);/*输出一楼灯的数量*/
return 0;
}
3.灯塔数量有一八层灯塔,每层的灯数都是上一层的一倍,共有765盏灯,编程求最上层与最下层的灯数。
#include <stdio.h>
main()
{
int n = 1, m, sum, i;/*定义变量为基本整形*/
while (1)
{
m = n;/*m存储一楼灯的数量*/
sum = 0;