栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言基础学习(3)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言基础学习(3)

1、关系运算

==  相等

!=不相等

关系运算的结果:1(关系成立) 0(关系不成立)

2、找零计算器

#include           
int main()                   
{
	int price= 0;
	int bill= 0;

	printf("请输入金额:");
	scanf("%d",&price);
	printf("请输入票面:");
	scanf("%d",&bill);
	if (bill>=price)
	{
		printf("应该找您:%dn",bill-price);
	}
	else
		printf("还差%d元n",price-bill);
	return 0;
}

输出结果:

请输入金额:30
请输入票面:20
还差10元
请按任意键继续. . .

if只要求()里的值是零或非零

3、多路分支(switch-case)

#include           
int main()                   
{
	int type = 0;
	scanf("%d",&type);
	switch(type)
	{
	case 1:
		printf("早上好n");
		break;
	case 2:
		printf("中午好n");
		break;
	case 3:
		printf("晚上好n");
		break;
	default:
		printf("你好n");
	}
	return 0;
}

type只能是int类型的

如果没有break,就会顺序执行到下面的case去,直到遇到一个break或者switch结束为止。

4、循环

  • 数位数(while)
#include           
int main()                   
{
	int x;
	int n = 0;//默认数字0也是1位数,所以n最小为1
	printf("请输入一个数字:");
	scanf("%d",&x);
	n++;
	x /=10;  //此时x是1位数,必须划掉一位继续判断
	while(x>0)
	{
		n++;
		x /= 10;//相当于把数字最右一位划掉
	}
		printf("这个数字是%d位n",n);
	
	return 0;
}

运行结果:

请输入一个数字:123456
这个数字是6位
请按任意键继续. . .

while循环体内要有出循环的条件,否则会形成死循环

  •  计算log2x
#include           
int main()                   
{
	int x;
	int ret = 0;//计数
	int t;//计算之前先保存原始的值
	scanf("%d",&x);
	t = x;
	while(x>1){
	x /= 2;
	ret++;
	}
	printf("log2 of %d is %dn",t,ret);
	return 0;
}
  •    猜数游戏

思路:

计算机随机产生一个数,记到number里面

定义一个负责记次数的变量conunt初始化为0

用户输入一个数字a

conunt递增

判断a和number的大小,a大就输出大,a小就输出小

如果不相等循环执行

循环终止条件---a==number 并输出猜中和次数,结束

#include   
#include 
#include 
int main()                   
{
	int number;
	int a;
	int count = 0;
	srand(time(0));
	number = rand()%100+1;//随机函数  使用rand()函数产生1-100以内的随机整数
						  //x%n的结果是[0,n-1]的一个整数
	printf("我己经想好一个1-100的数字了.n");
	
	do{
	printf("请输入一个数字:");
	scanf("%d",&a);
	count++;
	if(a>number)
	{
		printf("你猜的数大了。n");
	}
	else if(a 

  • 算平均数

        思路:用户每输入一个数就把他与前面的数进行累加,每读取一个数就加进来,只保留前n项和以及读取数字的个数,直到读到-1结束读取并计算平均数。

#include   
#include 
#include 
int main()                   
{
	int number;
	int sum=0;
	int count=0;
	scanf("%d",&number);
	while(number!=-1)
		{
			sum += number;
			count++;//读进来数字的个数
			scanf("%d",&number);
		}
		
	printf("平均数为:%fn",1.0*sum/count);	
	
	return 0;
}
  • 整数逆序
#include   
int main()                   
{
	int x;
	int digit;
	int ret = 0;
	scanf("%d",&x);
	while(x>0)
	{
		digit = x%10;
		//printf("%dn",digit);//取出最右一位
		ret =ret*10+digit;//结果左移一位加digit
		//printf("x = %d,digit = %d,ret = %dn",x,digit,ret);
		x /= 10;
	}
	printf("%dn",ret);	
	
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号