1.
2.
3.
编程题:(非最优解,仅供参考)
7-1 判断一个整数是否为素数
本题要求编写程序,判断一个给定的整数是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
输入格式:
输入在一行中给出一个需要判断的整数 M(−2的1次方≤M≤2的31次方−1)。
输出格式:
如果M是素数,则在一行中输出Yes,否则输出No。如果输入了非正整数,也要输出No。
#include<stdio.h>
#include<math.h>
int main(){
int m,is_prime,limit;
scanf ("%d", &m);
if ( m == 1) {
is_prime = 0;
} else if (m == 2) {
is_prime=1;
} else if (m % 2 == 0) {
is_prime = 0;
} else{
is_prime=1;
limit = sqrt(m) + 1;
for(int i = 3; i <= limit; i += 2){
if(m % i == 0){
is_prime=0;
break;
}
}
}
if(is_prime==1)
{
printf("Yes\n");
}else{
printf("No\n");
}
}
7-2 简单的猜数字游戏[2]
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”)、小了(“Too small”),还是相等(“Lucky You!”)。如果猜到,则结束程序。如果超过7次都没有猜到,则提示“Game Over!”,并结束程序。
输入格式:
输入第一行中给出一个不超过100的正整数,代表游戏机产生的随机数。 从第二行起,每行给出一个用户的输入,直到猜中或者超过7次还没有猜中。
输出格式:
每次在一行中输出相应的猜测结果,直到输出猜对的结果“Lucky You!”或“Game Over!”则结束。
#include<stdio.h>
#include<stdlib.h>
int main(){
int n,num=0,ret;
scanf("%d",&ret);
while(1){
scanf("%d",&n);
num++;
if(num>7){
printf("Game Over!\n");
break;
}
if(n>ret){
printf("Too big\n");
}else if(n<ret){
printf("Too small\n");
}else{
printf("Lucky You!\n");
break;
}
}
}
做到最后,感觉最大的收获是学会了怎么判断素数(手动狗头)。