作业 2023.12.29

1输入一个数,判断是否是水仙花 水仙花: 是三位数 各个位的立方和等于本身

eg: 153--->1*1*1+5*5*5+3*3*3==153

#include <stdio.h>
int main(int argc,const char *argv[])
{
	int number,daffodil,sum;
	printf("please enter numbe:");
	scanf("%d",&number);
	int a,b,c;
    daffodil=number;
	a=number/100;
	b=(number%100)/10;
	c=number%10;
    sum=(a*a*a)+(b*b*b)+(c*c*c);
	if(sum==daffodil&&sum>=100&&sum<=999)
	{
		printf("%d是水仙花\n",daffodil);
			}
	else
	{
		printf("%d不是水仙花\n",daffodil);
	}
	return 0;
}

2.输入三角形的三条边,判断是什么三角形? 等腰\直角\等边\普通三角形

ubuntu@ubuntu:day3$ cat 2day3.c
#include <stdio.h>
int main(int argc,const char *argv[])
{
	    int side1, side2, side3;
    printf("请输入三角形的三条边长度:");
    scanf("%d%d%d", &side1, &side2, &side3);
    if (side1 == side2 && side2 == side3)
	{
        printf("等边三角形\n");
    }
	else if (side1 == side2 || side1 == side3 || side2 == side3)
	{
        printf("等腰三角形\n");
    } 
	else if (side1 * side1 + side2 * side2 == side3 * side3 ||
               side1 * side1 + side3 * side3 == side2 * side2 ||
               side2 * side2 + side3 * side3 == side1 * side1)
	{
        printf("直角三角形\n");
    } 
	else
	{
        printf("普通三角形\n");
    }
	return 0;
}

3.输入一个成绩,判断学生成绩等级?

90--100 A    80--89 B    70--79 C    0---60 D

int main(int argc,const char *argv[])
{
	int score;
	printf("please enter score:");
	scanf("%d",&score);
	if(score>=90&&score<=100)
	{
		printf("成绩等级为:A\n");
	}
	else if(score>=80&&score<=89)
	{
		printf("成绩等级为:B\n");
	}
	else if(score>=70&&score<=79)
	{
		printf("成绩等级为:C\n");
	}
	else if(score>=60&&score<=69)
	{
		printf("成绩等级为:D\n");
	}
	else if(score>=0&&score<=59)
	{
		printf("成绩等级为:E\n");
	}
	else
	{
		printf("erroor\n");
	}
	return 0;
}

4.:输入两个数,实现从小到大排序

#include <stdio.h>
int main(int argc,const char *argv[])
{
	int number1,number2;
	printf("please enter two number:");
	scanf("%d%d",&number1,&number2);
	if(number1>number2)
	{
		printf("number1=%d, number2=%d\n",number1,number2);
	}
	else if(number2>number1)
	{
		printf("number2=%d, number1=%d\n",number2,number1);
	}
	else
	{
		printf("error\n");
	}
	return 0;
}

5.设有以下语句:int a=3,b=6,c; c=a^b<<2; 则c的二进制值是 。

A、00011011   B、00010100    C、00011100    D、00011000

6.解读程序 void main()

{

int a=180;            //定义整数int类型 变量a初始化值为180

char c;                //定义字符char类型 不初始化变量c的值      

c=(char)++a;      //a先自增1.变为181,其二进制原码为10110101,如果转化为字符,将会数据溢出,则发生以下情况:181会减去256得到-75,然后再将其赋值于c,

printf("c=%d a=%d\n",c,a);  //输出a和c的整数值,a=181.c=-75

char d=4; short e;    // 定义字符变量初始值为4, 定义长整数short类型变量e而不初始化值

e=(++d)++;             //变量d的值先自增1,结果为5,但是由于++前只能是变量而5是常量,故报错,得不出e的结果

printf("d=%d e=%d\n",d,e);  //输出e和d的整数值 ,但是e报错,不执行该语句

}

7.

  1. 进入for循环,初始i=0。因为0%2=0,进入外层switch的case 0。然后进入内层的switch,a[0]为2,2%2=0,a[0]自增1,a[0]现在为3。
  2. i自增到1,1%2=1,进入外层switch下的case 1。a[1]原本为3,然后a[1]被赋值为0。
  3. i自增到2,2%2=0,进入外层switch的case 0。a[2]为5,5%2=1,a[2]自减1,a[2]现在为4。
  4. i自增到3,3%2=1,进入外层switch的case 1。a[3]为4,然后a[3]被赋值为0。
  5. 最后数值a[]={3,0,4,0}。

故输出结果为 :3 0 4 0,选C

思维导图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值