C语言学习日志1

《小白自学C语言日志》

Day 1 【例1.1】员工的奖励

业绩额奖励金
业绩>=51000
10<=业绩<50200*业绩额
业绩>50250*业绩额
伪代码描述程序语句描述
输入xscanf(“%d”,&x)
若5<=x<10 则y=1000if(x>=5&&x<10) y=1000;
否则else
若10<=x<50,则y=200xif(x>=10&&x<50) y=200*x
否则 y=250xelse y=250*x
输出yprintf(“y=%d”),y
#include <stdio.h>
int main(void)
{
	int x,y;
	printf("请输入业绩额:");
	scanf("%d",&x);
	if(x>=5&&x<10) y=1000;
	else
	{
		if(x>=10&&x<50) y=200*x;
		else y=250*x;
	}
	printf("营业额为%d元\n",y);
	return 0;
}

//该代码在算法设计时未考虑x<5时的情况//

DAY 2 【题目】求两个数的最大数

#include<stdio.h> //文件包含
int max(int x,int y); //函数声明
int main(void)
{
	int a,b,c;  //变量申明
	scanf("%d,%d",&a,&b); //从键盘输入整数a,b
	c=max(a,b);  //让函数max求出a,b中大者并记录到c中
	printf("max=%d",c);  //在屏幕中输出c的值
	return 0;
}
int max(int x,int y)  //函数max需要处理的信息是两个整数x,y
{
	int z;
	if(x>y) z=x;   //比较x,y,用z记录其中较大的数
	else z=y;
	return (z);  //告诉调用者z的值
}

//主函数与子函数的关系是各自完成功能相对独立的工作,通过调用方式,配合起来比较复杂的功能。//

DAY 3 求n的阶乘

人工与计算机处理问题方法的比较

计算模型求解主要步骤解题特点
人工5!=1* 2* 3*4 * 5按阶乘公式 直接取乘数 乘积记入S问题中的已知信息,直接取用即可
计算机5!=1* 2*3 *4 *5按阶乘公式 乘数由迭加得到:T=T+1 乘积记入S问题中的每一个数据、每一步运算方法都要事前“交代好”

二者的计算模型是一样的,主要的处理步骤也是一样的,最大的不同点在于,在求解过程中,人对于已知信息是直接取用的,而对于计算机而言,每一个数据、每一步运算方法都要“交代好”。

#include<stdio.h>
int main(void)
{
	int n,T,S;
	printf("请输入;"); 
	scanf("%d",&n) ;
	T=S=1;
	while(T<=n)
	{
		S*=T;
		T=T+1;
	}
	printf("%d\n",S);
	return 0;
}

![运行结果
当输入的数为0-31时结果正确
当n>=32时,输出的结果为负,这是为什么呢,还请大佬指教。在这里插入图片描述
【参考文献】 C语言程序设计—程序思维与代码调试 周幸妮著

以上代码均已在Dev c++调试过,当然,一个题目有很多不同的代码的写法,这几天的最大的收获是,计算机算法的特点是规则简单、数据处理的每一步都是简单的,计算机解题的特点就是可以不厌其烦地做简单重复的工作。欢迎评论私信交流学习呀。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值