• 史航416第七次作业总结


    #include <stdio.h>
    int sign(int x)
    {
    	
    	if(x>0)
    	return 1;
    	else if(x==0)
    	return 0;
    	else
    	return -1;
    	}
    
    int even(int n)
    {
    	int x;
    	if(n%2==0)
    		x=1;
    	else
    		x=0;
    	return x;
    	}
    
    int prime(int m)
    {
    	int i;
    	for(i=2;i<=m;i++){
    		if(m%i==0)
    			return 0;
    		else
    			return 1;
    		}
    	}
    
    int countdigit(int number,int digit)
    {
    	int count,i;
    	count=0;
    	i=0;
    	while(number%10!=0){
    		i=number%10;
    		number=number/10;
    		if(i==digit)
    			count++;
    		}
    		return count;
    	}
    
    int is(int number){
    	int a,b,c;
    	a=number/100;
    	b=number/10-a*10;
    	c=number%10;
    	if(number==a*a*a+b*b*b+c*c*c)
    		return 1;
    	else
    		return 0;
    }
    int main()
    {
     	int choice=1;
     	int n,y,sum=0,x;
     	int m,i,count;
     	int number,digit;
     	do{
    	 	printf("****实验六:函数****
    ");
    		printf("****1.计算并输出分段函数f(x)的值****
    ");
    		printf("****2.使用函数求奇数和****
    ");
    		printf("****3.计算素数个数并求和****
    ");
    		printf("****4.统计制定数字的个数****
    ");
    		printf("****5.输出m~n之间所有的水仙花数****
    ");
    		printf("****0.退出****
    "); 
    		printf("请选择题号:");
    		scanf("%d",&choice);
    		
    		switch(choice){
    			case 1:
    				printf("请输入x:");
    				scanf("%d",&x);
    				printf("f(%d)=%d
    ",x,sign(x));
    			break;
    			case 2:
    					do{
    						scanf("%d",&n);
    						if(n>0){
    							y=even(n);
    							if(y==0){
    								sum=sum+n;
    							}
    						}	
    					}while(n>0);
    					printf("sum=%d
    ",sum);
    			break;
    			case 3:
    				printf("输入两个整数m(m>1)和n(n<500):");
    				scanf("%d%d",&m,&n);
    				sum=0;
    				count=0;
    				for(i=1;i<=n;i++){
    					if(prime(i)==0){
    						count++;
    						sum+=prime(i);
    						
    					}
    				}
    				printf("一共有%d个素数,sum=%d
    ",count,sum);
    			break;
    			case 4:
    				digit=2;
    				printf("输入一个整数:");
    				scanf("%d",&number);
    				printf("%d中有%d个2
    ",number,countdigit(number,digit=2));
    			break;
    			case 5:
    				int number,m,n,i;
    				printf("输入两个个整数m(m=>1)和n(n<=1000):");
    				scanf("%d%d",&m,&n);
    				for(i=m;i<=n;i++){
    					if(is(i)){
    					printf("%5d
    ",i);
    						}
    					}
    			break;
    			case 0:break;
    		}
    		} while(choice!=0);
    		 return 0;
    	}
    

    一、知识点总结:

    1.长度运算符:sizeof

    2.单目运算符:计算变量或数据类型的字节长度

                        Int a;

                        Sizeof(a)

                        求整形变量a的长度,值为4(bytes)

                        Sizeof(int)

                        求整形的长度,值为4(bytes)

    3.逗号表达式:

    表达式1,表达式2,表达式3,.... 表达式N

    4.++运算符:

    自增,自减运算符使变量的值增1或减1。

    有四种形式:i++  ++i   i--   --i

    5.算数表达式: 单目:+, -, ++, --

                         双目:+,-,*,/,%

    6.赋值表达式: 简单赋值:=

                         复合赋值:+=,-=,*=,,/=%=,!=

    7.关系表达式:>,>=,<,<=,!=

       逻辑表达式:!,&&,||

       条件表达式:?

       逗号表达式:,

       其他运算:sizeof

    8.数组:数组必须先定义然后使用。C语言规定只能逐个引用,而不能一次引用整个数组。

    对数组元素的初始化可以用以下方式实现:

    ①在定义数组时,对数组元素赋以初值。如:int a[10]={0,1,2,3,4,5,6,7,8,9};

    ②可以给一部分元素赋值。如:int a[10]={0,1,2,3,4},表示只给前五个元素赋初值,后五个元素自动赋予0值。

    ③对static数组不赋初值,系统会对所有元素自动赋予0值。即:如果想要使数组a中全部元素值为0,可以这样定义数组:static int a[5];

  • 相关阅读:
    misc子系统
    Spring boot+RabbitMQ环境
    Linux input
    lnmp环境的搭建
    DDD的.NET开发框架
    【踩坑记】从HybridApp到ReactNative
    Migrating from IntelliJ Projects
    Windows下Redis中RedisQFork位置调整
    远程仓库版本回退方法 good
    maven repository
  • 原文地址:https://www.cnblogs.com/shihang123/p/6038791.html
Copyright © 2020-2023  润新知