系列文章目录(从第七期开始难度递增,适合C语言期末复习)
C语言小练习(一)
C语言小练习(二)
C语言小练习(三)
C语言小练习(四)
C语言小练习(五)
C语言小练习(六)
C语言小练习(七)
C语言小练习(八)
前言
本文为《C语言小练习》的第五篇文章,今天同样练习三个项目,准备好了吗?
一、9×9乘法口诀表
#include<stdio.h>
int main()
{
printf("下面为9*9乘法口诀表\n");
int i, j;
for(i = 1; i < 10; i++) printf("%5d",i);//输出列数
printf("\n ——————————————————————\n");//打出分隔线
for(i = 1; i < 10; i++)//控制行数
for(j = 1; j < 10; j++)//控制列数
if(j != 9)//换行的判断:每九个数换一次行
printf("%5d", i*j);
else printf("%5d\n\n", i*j);
return 0;
}
这道题以大家所熟知的乘法口诀表来复习一下for循环
二、输入字符并回显
#include<stdio.h>
int main()
{
char c;
while((c = getchar()) != '*')
putchar(c);
return 0;
}
这个题来讲授新知识:字符串的输入与输出函数
<1>getchar()来输入一个字符或一串字符,putchar()用来输出这串字符
<2>使用方法:
char c;
c = getchar();
putchar(c);
此模板只用于输入一个字符,当需要输入字符串时,可以使用循环来解决
三、猜数游戏
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main()
{
printf("猜数游戏:\n请猜一个1-10的数,看看你能不能猜对(每次的数字都不一样哦!)\n");
int num1, num2, counter;//counter为记录猜的次数的变量
srand(time(NULL));
num1 = rand()%10 + 1;
counter = 0;
do{
printf("请输入你猜的数字:");
scanf("%d", &num2);
counter ++;
if(num2 < 1 || num2 >10)
printf("输入错误,请重新输入\n");
else if(num2 > num1)
printf("猜大了! 再来!\n");
else if(num2 < num1)
printf("猜小了! 再来!\n");
else printf("猜对了,答案就是%d\n", num1);
}while(num2 != num1);
printf("猜对答案的所用次数为:%d", counter);
return 0;
}
(1)题目简介: 这是一个相当有意思的游戏,需要你猜一个1-10的数,看看你能不能猜的和系统给出的随机数相同,这里就涉及到了第一个新知识——随机数的生成。
(2)随机数的生成:
<1>确定的随机数:需要预处理文件#include<stdlib.h>
,随机数函数rand()%d,这样所得的随机数为系统通过数学运算所的的一个数字,每次输出都一样,并未做到真正的随机。
<2>随时间变化的随机数:需要预处理文件#include<stdlib.h>
和#include <time.h>
,同时还需要生成时间种子 srand(time(NULL));
这样得到的随机数是根据当前时间所确定的,做到了真正随机。
(3)随机数的取值范围:
int a;
a = rand()%n+m
表示输出[m — m+n-1 ]的随机数。
谢谢观看!!!