mooc翁恺答案C语言第四周,中国大学MOOC-翁恺-C语言程序习题第四周

04-0. 求符合给定条件的整数集(15)

给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出全部由它们组成的无重复数字的3位数。编程

输入格式:函数

输入在一行中给出A。测试

输出格式:code

输出知足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。游戏

输入样例:

2

输出样例:

234 235 243 245 253 254

324 325 342 345 352 354

423 425 432 435 452 453

523 524 532 534 542 543

分析:这道题用三个循环嵌套就能够了,可是要注意一下输出格式io

#include

int main()

{

int num,i,j,k,count=0;

scanf("%d",&num);

for(i=num;i

{

for(j=num;j

{

for(k=num;k

{

if(i!=j && i!=k && j!=k)

{

count++;

if(count%6==0)

printf("%d\n",i*100+j*10+k);

else

printf("%d ",i*100+j*10+k);

}

}

}

}

return 0;

}

04-1. 水仙花数(20)

水仙花数是指一个N位正整数(N>=3),它的每一个位上的数字的N次幂之和等于它自己。例如:153 = 13 + 53+ 33。本题要求编写程序,计算全部N位水仙花数。class

输入格式:基础

输入在一行中给出一个正整数N(3<=N<=7)。随机数

输出格式:循环

按递增顺序输出全部N位水仙花数,每一个数字占一行。

输入样例:

3

输出样例:

153

370

371

407

分析:很经典的一道题,相信都作过,也就是2个循环嵌套就能实现,特别须要注意若是用系统的math.h中的pow函数最后一个测试会超时,由于pow函数是以浮点数进行计算的,而题目中的都是正整数,因此本身写一个函数求指数次方就好。

#include

int main()

{

int N,i,j,k,m,sum;

scanf("%d",&N);

for(i=fun(10,N-1);i

{

sum=0;

k=i;

for(j=1;j<=N;j++)

{

m = k%10;

sum += fun(m,N);

k /= 10;

}

if(sum == i)

printf("%d\n",i);

}

}

int fun(int base,int exponent)

{

int sum = 1,i;

for(i=1;i<=exponent;i++)

{

sum *= base;

}

return sum;

}

04-2. 打印九九口诀表(15)

下面是一个完整的下三角九九口诀表:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

本题要求对任意给定的1位正整数N,输出从1*1到N*N的部分口诀表。

输入格式:

输入在一行中给出一个正整数N(1<=N<=9)。

输出格式:

输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

输入样例:

4

输出样例:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

分析:最基础的编程题了,就是注意下格式就好,就不解释了

#include

int main()

{

int N,i,j;

scanf("%d",&N);

for(i=1;i<=N;i++)

{

for(j=1;j<=i;j++)

{

printf("%d*%d=%-4d",j,i,i*j);

}

printf("\n");

}

}

04-3. 统计素数并求和(20)

本题要求统计给定整数M和N区间内素数的个数并对它们求和。

输入格式:

输入在一行中给出2个正整数M和N(1<=M<=N<=500)。

输出格式:

在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。

输入样例:

10 31

输出样例:

7 143

分析:就是一个判断素数的问题,太基础了,很少说

#include

#include

int isprime(int x)

{

int i,tmp;

if(x==2)

return 1;

if(x==0 || x==1)

return 0;

else

{

for(i=2;i*i<=x;i++)

{

if(x%i==0)

return 0;

}

}

return 1;

}

int main()

{

int M,N;

int i;

int count=0,sum=0;

scanf("%d %d",&M,&N);

for(i=M;i<=N;i++)

{

if(isprime(i)==1)

{

count++;

sum += i;

}

}

printf("%d %d",count,sum);

}

04-4. 猜数字游戏(15)

猜数字游戏是令系统随机产生一个100之内的正整数,用户输入一个数对其进行猜想,须要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),仍是小了(“Too small”),相等表示猜到了。若是猜到,则结束程序。程序还要求统计猜的次数,若是1次猜出该数,提示“Bingo!”;若是3次之内猜到该数,则提示“Lucky You!”;若是超过3次可是在N(>3)次之内(包括第N次)猜到该数,则提示“Good Guess!”;若是超过N次都没有猜到,则提示“Game Over”,并结束程序。若是在到达N次以前,用户输入了一个负数,也输出“Game Over”,并结束程序。

输入格式:

输入第一行中给出2个不超过100的正整数,分别是系统产生的随机数、以及猜想的最大次数N。随后每行给出一个用户的输入,直到出现负数为止。

输出格式:

在一行中输出每次猜想相应的结果,直到输出猜对的结果或“Game Over”则结束。

输入样例:

58 4

70

50

56

58

60

-2

输出样例:

Too big

Too small

Too small

Good Guess!

分析:这道题要仔细分析题目,把那几个判断弄清楚,而后用一个循环读输入就行,这道题把那些判断分清就出来了

#include

int main()

{

int a,b,count=0;

scanf("%d %d",&a,&b);

while(1)

{

int num;

count++;

scanf("%d",&num);

if(num<0)

{

printf("Game Over");

break;

}

if(num

printf("Too small\n");

else if(num>a)

printf("Too big\n");

else

{

if(count==1)

printf("Bingo!");

else if(count<=3)

printf("Lucky You!");

else if(count<=b)

printf("Good Guess!");

else

printf("Game Over");

break;

}

}

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值