不练习的话也是很难学好的哈!作者将会把平时遇到的好的或者觉得方法新奇的然后范围又在C语言(入门篇)中的题目来分享给大家!
算法篇中的题目并不是说怎么去解决这一道题,而是怎样用更好的方法去解决这些题!!!
1.打印100~200之间的素数
//素数也是质数
//只能被1和他本身整除的数字就是素数
#include <math.h> int main() { int y = 0; int count = 0; for (y = 100; y <= 200; y++) { //判断y是不是素数 //拿2~y-1的数字去试除y就行 int n = 0; int flag = 1;//假设y是素数 for (n = 2; n <= sqrt(y); n++) { if (y % n == 0) { flag = 0;//y不是素数 break; } } if (flag == 1) { printf("%d ", y); count++; } } printf("\ncount = %d\n", count); return 0;
//sqrt是开平方,头文件为#include<math.h>
//头文件还要加上一个#nclude<stdio.h>
2.输入密码,三次错误则退出程序
//strcmp - string compare //返回0,说明2个字符串相等 //返回大于0的数字 //返回小于0的数字 #include <string.h> #include<stdio.h> int main() { int i = 0; char password[20] = ""; //假设密码是"123456" for (i = 0; i < 3; i++) { printf("请输入密码:>"); scanf("%s", password);//password不取地址的原因是password是数组名,数组名本来就是地址 if (strcmp(password, "123456") == 0)//比较2个字符串是否相等,不能使用==,而应该使用strcmp这个函数 { printf("登陆成功\n"); break; } else { printf("密码错误\n"); } } if (i == 3) { printf("三次密码均错误,退出程序\n"); } return 0; }
上面也要补充一个#include<stdio.h> 哈!因为自己写的时候这个头文件都是放在了编译器的最上面,所以移过来的时候容易漏掉,希望大家多多包容。
3.猜数字游戏
//电脑随机生成一个1~100之间的数字 //猜数字 //玩家猜小了,电脑会告诉:猜小了 //玩家猜大了,电脑会告诉:猜大了 //玩家猜对了,电脑会告诉:恭喜你,猜对了 //C语言中生成的随机数的方式是rand函数 //0~RAND_MAX 0x7fff //0~32767 #include <stdlib.h> #include <time.h> #include<stdio.h> void menu() { printf("***************************\n"); printf("***** 1. play ******\n"); printf("***** 0. exit ******\n"); printf("***************************\n"); } void game() { int guess = 0; //猜数字游戏的过程 //生成随机数 int r = rand()%100+1;//0~99-->1~100 //猜数字 while (1) { printf("猜数字:>"); scanf("%d", &guess); if (guess < r) { printf("猜小了\n"); } else if (guess > r) { printf("猜大了\n"); } else { printf("恭喜你,猜对了\n"); break; } } } int main() { int input = 0; srand((unsigned int)time(NULL));//时间-设置随机数的生成器 do { //打印菜单 menu(); printf("请选择:>"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: printf("退出游戏\n"); break; default: printf("选择错误\n"); break; } } while (input); return 0; }
咳咳!也少一个#include<stdio.h>
到此今天的内容就结束了哈!今天的内容还是不多的,但是可能需要更多的理解,之后可以在自己的编译器上面尝试一下哈!熟能生巧!
最后的最后!感谢大家的观看!
要是觉得对你有一点用的话!就来一个点赞加关注吧!
谢谢!!!