“21天好习惯”第一期-4

今日完成题目:

键盘输入两个非零整数A和B,如果A和B都是偶数则输出两个数的和,如果A和B都是奇数则输出两个数的差,如果A是奇数B是偶数则输出两数积,如果A是偶数B是奇数输出A/B结果

输入格式:
输入两个非零整数,逗号分隔

输出格式:
如果A和B都是偶数则输出:A+B=两个数的和; 如果A和B都是奇数则输出:A-B=两个数的差; 如果A是奇数B是偶数则输出:A*B=两数积; 如果A是偶数B是奇数输出:A/B=两个数的商。 如果输入数据A为0或B为0,没有任何输出。

#include<stdio.h>
int main()
{
	int a,b,c,d,e,f;
	scanf("%d,%d",&a,&b);
	if(a!=0&&b!=0)
	{
		if(a%2==0&&b%2==0&&a!=0&&b&&b!=0)
			{
			c=a+b;
			printf("%d+%d=%d",a,b,c);	
			}
			else if(a%2!=0&&b%2!=0&&a!=0&&b!=0)
			{
				d=a-b;
				printf("%d-%d=%d",a,b,d);
			}
			else if(a%2==!0&&b%2==0&&a!=0&&b!=0)
			{
				e=a*b;
				printf("%d*%d=%d",a,b,e);
			}
			else
			{
				f=a/b;
				printf("%d/%d=%d",a,b,f);
			}
	}
	return 0;
}

在开始只在if内定义了ab为非0,随后注意到else内没有定义到ab为非0,这样子不符合题意。便在scanf后面直接定义整个函数内的ab为非0。这个代码还没有完善,一开始在if()规定的ab不为零没有删去,可以删去多余的ab不为0,节约资源。

17.循环结构之for循环

形式:

它的执行过程如下:

第一步:执行表达式1,对循环变量做初始化(赋予开始值);

第二步:判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;{如果为真则继续执行循环,为假则推出循环}

第三步:执行表达式3;

第四步:执行for循环中执行代码块后执行第二步

第五步:循环结束,程序继续向下执行。

执行过程图如下:

注意:for后面的;一定要写

例子

10以内数相加

#include <stdio.h>

int main()

{

    int sum, num;  // 定义变量sum, num

    sum = 0;

    for(num = 0;  num<=10  ;   num++   ) //for循环条件与num的变化值

    {

          sum+=num;   //计算每次数字之间的和sum,意思为sum=sum+num

    }

    printf("10以内数的和为:%d", sum);

    return 0;

}

在for循环中,表达式1是一个或多个赋值语句,它用来控制变量的初始值表达式2是一个关系表达式,它决定什么时候退出循环;表达式3是循环变量的步进值,定义控制循环变量每循环一次后按什么方式变化。这三部分之间用分号(;)分开

使用for语句应该注意

1、for循环中的“表达式1、2、3”均可可以缺省,但分号(;)不能缺省

2、省略“表达式1(循环变量赋初值)”,表示不对循环变量赋初始值。如:

正在上传…重新上传取消​

3、省略“表达式2(循环条件)”,不做其它处理,循环一直执行(死循环)。如:

正在上传…重新上传取消​

4、省略“表达式3(循环变量增量)”,不做其他处理,循环一直执行(死循环)。如:

正在上传…重新上传取消​

注:死循环可以使用后面即将讲到的break解决

5、表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。如:

正在上传…重新上传取消​

6、表达式1和表达式3可以是一个简单表达式也可以是多个表达式以逗号分割。如:

正在上传…重新上传取消​

运行结果为正在上传…重新上传取消​

7、表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。

正在上传…重新上传取消​

8、各表达式中的变量一定要在for循环之前定义。如:

正在上传…重新上传取消​

水仙花数字例子:输出所有水仙花数字。小知识:如果要512中的百位上的数字可以用512/100求得,如果要512中十位上的数字可以用512/10%10(512/10=51%10就是可以求出余出的1,1就是512十位上的数字,要求512上个位上的数直接512%10得出余数2,2便是个位数。

所谓水仙花数是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=1*1*1+5*5*5+3*3*3。

#include <stdio.h>

int main()
{
	//定义三位数num,个位数sd,十位数td,百位数hd
	int num, sd, td, hd;
	//循环所有三位数
	for( num=100 ; num<1000 ; num++ )
	{
		//获取三位数字num百位上的数字
		hd = num/100 ;
		//获取三位数字num十位上的数字
		td = num/10%10 ;
		//获取三位数字num个位上的数字
		sd = num%10 ;
		//水仙花数的条件是什么?
		if(num ==hd*hd*hd+td*td*td+sd*sd*sd )
		{
			printf("水仙花数字:%d\n", num);
		}
	}
	return 0;
}

其他敲的代码:

#include<stdio.h>
int main()
{
	int i;
	for(i=1;i<=10;i=i+1)
	{
		printf("第%d遍抄写:computer\n",i);
	}
	return 0;
}
#include<stdio.h>
int main()
{
	int number;
	int year;
	scanf("%d%d",&number,&year);//添加了可输入项,更加人性化
	do
	{
		year=year+1;
		number=number*1.2;
	}while(number<1000);//不可以忘记do-while循环while后面要加;
	printf("到了%d年招工规模突破1000人",year);
	return 0;
}
#include<stdio.h>
int main()
{
	int a;//以往的水果的价格
	int b;//现在的水果价格
	scanf("%d,%d",&a,&b);//小小的改良
	printf("我们买不买水果呢:");
	printf("%c",a>=b?'y':'n');
	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值