C语言从键盘上输入10个评委,科大C语言每章节上机习题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

1.输入4个不同的数,将它们从大到小排序。(使用循环语句)

#include "stdio.h"

void swap(int &a,int &b)

{

int t;

t=a;

a=b;

b=t;

}

void main()

{

int num[4];

printf("输入四个整数(以空格分隔):");

scanf("%d%d%d%d",&num[0],&num[1],&num[2],&num[3]);

for(int i=0 ; i<3 ; i++)

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

if(num[i] 

swap(num[i] , num[j]);

printf("从大到小排序后:");

printf("%d %d %d %d",num[0],num[1],num[2],num[3]);

}

2.任意从键盘上输入一个自然数,显示其后的50个素数,要求10个数一行显示。

#include "stdio.h"

#include "math.h"

void main()

{

int start; //起始自然数

printf("输入起始自然数:");

scanf("%d",&start);

int count=0; //计数

int i = start+1;

printf("%d后续的50个素数如下:\n",start);

do

{

int flag=1;

for(int j=2 ; j<=sqrt(i) ; j++)

if(i%j==0)

{

flag=0;

break;

}

if(flag==1)

{

printf("%d ",i);

count++;

if(count%10==0)

printf("\n");

}

i++;

}while(count<50);

}

3.猜数游戏

随机产生一个1到100之间的数,用户从键盘上输入一个数,若猜对了,则显示:“you are right!”, 否则提示:“you are wrong!”,并告诉用户所猜的数是大(Too high)还是小(Too low),然后结束游戏。

#include 

#include 

#include 

void main()

{

srand(time(0));

rand();

int random_num = 1+(double)rand()/RAND_MAX*99;

int guess;

while(1)

{

printf("please guess:");

scanf("%d",&guess);

if(guess

printf("too low!please continue\n");

else if(guess>random_num)

printf("too high!please continue\n");

else

{

printf("you are right.\n");

break;

}

}

}

4.对上一题进一步做要求:随机产生一个1到100之间的数请人猜,用户可以多次输入数来猜,如果猜对了,并显示用户猜了多少次才猜对此数,则结束游戏,否则计算机给出提示,告诉用户所猜的数是太大还是太小,最多可以猜7次,如果猜了7次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者从键盘上输入-1时结束程序。

#include 

#include 

#include 

void main()

{

srand(time(0));

rand();

int guess;

while(1)

{

random_num = 1+(double)rand()/RAND_MAX*99;

int count=0;

while(count<7)

{

printf("please guess:");

scanf("%d",&guess);

if(guess==-1)

{

printf("quit game!\n");

return;

}

if(guess

printf("too low!please continue\n");

else if(guess>random_num)

printf("too high!please continue\n");

else

{

printf("you are right.you've taken %d times.\n",count+1);

break;

}

if(++count==7)

{

printf("you've taken 7 times,GAME OVER!\n");

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值