20240703

 思维导图:


1、假设int a=0x12345678,char b=(char)a,请写代码判断大端或小端存储?

        >>如果 b = 0x78  则是小端存储


2、输入用户名和密码,如果用户名和密码正确则登录成功,否则失败,默认用户名为A,密码是1234

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    char USER;
    int PASSWD;
    printf("请输入用户名:");
    scanf("%c",&USER);
    if(USER=='A')
    {
        printf("请输入密码:");
        scanf("%d",&PASSWD);

        if(PASSWD==1234)
        {
            printf("登录成功\n");
        }
        else
        {
            printf("密码错误\n");          
        }
    }
    else
    {
        printf("用户名不存在\n");
    }
    return 0;
}
                                           

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
请输入用户名:a
用户名不存在

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
请输入用户名:A
请输入密码:1234
登录成功

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
请输入用户名:A
请输入密码:123
密码错误


3、输入三角形的三条边

            如果不满足任意两边之和大于第三边,任意两边之差小于第三边,则输出不是三角形

                如果满足条件,则判断是什么三角形

                        如果三条边相等,则等边三角形

                        如果任意两条相等,则等腰三角形

                        如果满足勾股定理,则直角三角形

#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    int a,b,c;
    printf("please enter 3 number:");
    scanf("%d%d%d",&a,&b,&c);
    if(!(a+b>c&&a+c>b&&b+c>a&&abs(a-b)<c&&abs(a-c)<b&&abs(b-c)<a))
        {
            printf("不是三角形\n");
        }   
            else if(a==b&&b==c)
            {
                printf("是全等三角形\n");
            }
            else if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&c!=a))
            {
                printf("是等腰三角形\n");
            }
            else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
            {
                printf("是直角三角形\n");
            }
    else
    return 0;
}                                                            

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
please enter 3 number:3 3 3
是全等三角形

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
please enter 3 number:3 4 5
是直角三角形

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
please enter 3 number:3 3 4
是等腰三角形

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
please enter 3 number:1 6 2
不是三角形


4、写出float x与“零值”作比较的if语句

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    float x;
    printf("please enter a number:");
    scanf("%f",&x);
    if(x>=-0.0000001&&x<=0.0000001)
        printf("x=0\n");
    else
        printf("x!=0\n");
    return 0;
} 

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
please enter a number:0.00000001
x=0

ubuntu@ubuntu:~/wei/7.3$ ./a.out 
please enter a number:-0.0000002 
x!=0


5、代码如下

void main()

        {

                int c=9,d=0;

                c=c++%5;  //先运算c%5,后c再自增--->c=4

                d=c;    //d=c=4

                printf("d=%d\n",d);  //d=4

        }

6、给定一个整数,判断它是否被3、5、7整除,并输出以下信息 

        1.能同时被3,5,7整除(直接输出3 5 7,每个数字之间一个空格)

        2.只能被其中两个整数整除(输出两个数,小的在前,大的在后,例如3 5 或者 3 7 或者5 7,中间使用空格隔开)

        3. 只能被其中一个整数整除(输出这个除数)

        4.不能被任何数整除,输出小写字母n

        案例如下:

        输入:105

        输出:3 5 7

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() 
{
	int num;
	printf("请输入一个整数:");
	scanf("%d",&num);
	int D3 = (num%3 == 0);
	int D5 = (num%5 == 0);
	int D7 = (num%7 == 0);

	if (D3 && D5 && D7)
	{
		printf("3 5 7\n");
	} 
	else if (D3 && D5)
	{
		printf("3 5\n");
	} 
	else if (D3 && D7) 
	{
		printf("3 7\n");
	} 
	else if (D5 && D7)
	{
		printf("5 7\n");
	}
	else if (D3) 
	{
		printf("3\n");
	} 
	else if (D5)
	{
		printf("5\n");
	}
	else if (D7) 
	{
		printf("7\n");
	}
	else 
	{
		printf("n\n");
	}

	return 0;
}


7、写出下列代码输出的内容

#include <stdio.h>
int main(void)
{
    int a,b,c,d;
    a=10;
    b=a++;//b---10,a---11
    c=++a;//c---12,a---12
    d=10*a++;//d---120,a---13
    printf("b,c,d:%d,%d,%d",b,c,d);//a=13,b=10,c=12,d=120
    return 0;
}

8、输出结果

#include<stdio.h>
void main()
{
    int a=180;
    char c;
    c=(char)++a;
/*(char)181-->0000 0000 1011 0101-->1011 0101补
                                      1011 0100反
                                      1100 1011原--->c=-75

*/
    printf("c=%d a=%d\n",c,a);//c=-75,a=181
    char d=4;
    short e;
    e=(++d)++;//++d=4+1=5-->e=5,d=6
    printf("d=%d e=%d\n",d,e);//d=6,e=5
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值