欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

C语言学习路程

最编程 2024-05-05 18:11:34
...

C语言学习路程

hello world

#include<stdio.h>
int main()
{

    printf("hello world");
    
    return 0;
}

if-else

判断成绩归类

#include <stdio.h>

int main() {
    int score ;
    
    printf("enter a score: ");
    scanf("%d", &score);
    
    if (score >= 90) {
        printf("优秀\n");
    }
    else if (score >= 80) {
        printf("良好\n");
    }
    else if (score >= 70) {
        printf("中等\n");
    }
    else if (score >= 60) {
        printf("及格\n");
    }
    else {
        printf("不及格\n");
    }
    
   
    return 0;
}

判断最大值

#include<stdio.h>
int main()
{
	int  a,b,c;
	scanf("%d %d %d", &a,&b,&c);
	int max=0;
	
	if(a>b){
		if(a>c){
			max=a;
		}
		else {max=c;
		}
	}
	else {
		if(b>c){
			max=b;
		}
		else{max=c;
		}
	}
	
	
	printf("最大的数为%d\n",max);
	
	return 0;
}

判断大小写

#include<stdio.h>
int main(void)
{
	char ch;
	
	printf("enter a letter:");
	scanf("%c", &ch);
	
	if(ch >= 'A' && ch <= 'Z')
		printf("%c", ch+32);
	else if(ch >= 'a' && ch <= 'z')
		printf("%c", ch-32);
	else
		printf("Not a letter!\n");
	
	return 0;
}

三个数字从小到大排序

#include <stdio.h>

int main() {
    int a, b, c;

    printf("请输入三个整数:\n");
    scanf("%d %d %d", &a, &b, &c);

    if (a >= b && a >= c) {
        if (b >= c) {
            printf("从小到大的顺序输出:%d %d %d\n", c, b, a);
        }
        else {
            printf("从小到大的顺序输出:%d %d %d\n", b, c, a);
        }
    }
    else if (b >= a && b >= c) {
        if (a >= c) {
            printf("从小到大的顺序输出:%d %d %d\n", c, a, b);
        }
        else {
            printf("从小到大的顺序输出:%d %d %d\n", a, c, b);
        }
    }
    else {
        if (a >= b) {
            printf("从小到大的顺序输出:%d %d %d\n", b, a, c);
        }
        else {
            printf("从小到大的顺序输出:%d %d %d\n", a, b, c);
        }
    }

    return 0;
}

switch

判断成绩归类

#include <stdio.h>

int main() {
    char grade;

    printf("请输入学生成绩等级:");
    scanf("%c", &grade);

    switch (grade) {
        case 'A':
            printf("分数范围:90-100\n");
            break;
        case 'B':
            printf("分数范围:80-89\n");
            break;
        case 'C':
            printf("分数范围:70-79\n");
            break;
        case 'D':
            printf("分数范围:60-69\n");
            break;
        case 'E':
            printf("分数范围:0-59\n");
            break;
        default:
            printf("等级错误!\n");
            break;
    }

    return 0;
}


加减乘除

#include <stdio.h>

int main() {
    char op;
    int num1, num2;
    int result;

    printf("请输入运算符:");
    scanf("%c", &op);

    printf("请输入两个整数:");
    scanf("%d%d", &num1, &num2);

    switch(op) {
        case '+':
            result = num1 + num2;
            printf("运算结果:%d\n", result);
            break;
        case '-':
            result = num1 - num2;
            printf("运算结果:%d\n", result);
            break;
        case '*':
            result = num1 * num2;
            printf("运算结果:%d\n", result);
            break;
        case '/':
            if (num2 != 0) {
                result = num1 / num2;
                printf("运算结果:%d\n", result);
            } else {
                printf("错误:除数不能为0!\n");
            }
            break;
        case '%':
            if (num2 != 0) {
                result = num1 % num2;
                printf("运算结果:%d\n", result);
            } else {
                printf("错误:除数不能为0!\n");
            }
            break;
        default:
            printf("错误:无效的运算符!\n");
    }

    return 0;
}

判断字符

#include <stdio.h>

int main() {
    char c;
    printf("请输入一个字符:");
    scanf("%c", &c);

    switch (c) {
        case ' ':
        case '\n':
            printf("blank\n");
            break;
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
            printf("digit\n");
            break;
        default:
            printf("other\n");
            break;
    }

    return 0;
}

for循环

乘方表

#include<stdio.h>
#include<math.h>
int main()

{
	int i,n;
	double power;
	
	printf("Enter n: "); 
	scanf("%d", n);
	
	for(i=0; i<=n; i++){
		
		power=pow(2,i);
		printf("pow(2,%d)=%.Of\n",i , power);
	}
	
	
	return 0;
}

找出一个整数中各位数字间的最小数字

#include<stdio.h>

int main()

{

    int n,i,num,min;

    scanf("%d",&n);

    scanf("%d",&min);

    for(i=1;i<n;i++){

        scanf("%d",&num);

        min=(min > num ? num : min);

    }

    printf("min = %d",min);

    return 0;

}

while循环

求位数

#include <stdio.h>

int main() {
    
    int x;
    int n=0;
    
    scanf("%d",&x);
    
    x/=10;
    n++;
    
    while(x>0){
    	x/=10;
    	n++;
	}
	
	printf("该数字为%d位数。\n",n);
	
    return 0;
}

求整数的位数及各位数字之和

#include<stdio.h>

int main()

{

 int N,i=0,sum=0;

 scanf("%d",&N);

 while(N!=0){

  sum+=N%10;

  i++;

  N=N/10;

 }

 printf("%d %d",i,sum);

 return 0;

}

do while循环

猜数游戏

#include<stdio.h>
int main()
{

	srand(time(0));
	int number=rand()%100+1;
	int count=0;
	int a=0;
	
	printf("我已经想好了一个1到100之间的数。");
	
	do{
		printf("请给出你的猜想:");
		scanf("%d",&a);
		count++;
		
		if(a>number){
			printf("你猜的数大了。");
		}else if(a<number){
			printf("你猜的数小了。"); 
		}
			
	}while(a!=number);
	
	printf("恭喜,你用了%d次就猜到了答案。\n",count);
	
	
	return 0;
}

对于数字的/和%的应用

#include<stdio.h>
int main()
{
	//   13425 / 10000 -> 1
	//   13425 % 10000 -> 3425
	int x;
	scanf("%d", &x);
	int mask = 1;
	int t = x;
	
	while(t>=10){
		t /=10;
		mask*=10;
	}
	
	printf("x=%d, mask=%d\n", x, mask);
	
	do {
		int d = x / mask;
		printf("%d",d);
		
		if( mask>=10){
			printf(" ");
		}
		x%=mask;
		mask /=10;
	}while( mask>0);
	
	printf("\n");
	
	return 0;
}

for循环的嵌套

硬币问题

#include<stdio.h>
int main()
{

	int x;
	int one,two,five;
	//int exit = 0;
	//scanf("%d",&x);
	
	x=2;
	
	for(one = 1; one<x*10; one++){
		for( two = 1; two<x*10/2; two++){
			for(five = 1;five<x*10/5; five++){
				if( one + two*2 + five*5 == x*10){
					printf("可以用%d个1角和%d个两角和%d个伍角得到%d元\n",one,two,five,x);
					//exit = 1;
					//break;
					goto out;
				}
			}
			//if( exit == 1)break;
		}
		//if( exit == 1)break;
	}
	out:
	return 0;
}

定义调用函数

自定义函数分段函数

#include<stdio.h>
int sign (int x);
int main()
{
    int r;
    r=sign(7);
    
    if(r==1)
    printf("f(x)=1");
    else if(r==0)
    printf("f(x)=0");
    else
    printf("f(x)=-1");
    
    return 0;
}
int sign(int x)
{
    if (x>0){
        return 1;}
    else if(x==0){
       return 0;}
    else{
        return -1;}   
}

自定义函数判断奇数偶数


#include<stdio.h>
int even(int n);
int main()
{
    int r;
    
    r=even(7);
    if(r==0)
        printf("odd");
    else
        printf("even");    
    
    return 0;
}
int even (int n)
{
    
    if (n%2==0)
        return 1;
    else
        return 0;  
}    

自定义函数判断素数

#include <stdio.h>
#include <math.h>

int prime (int p);
int primesum( int m,int n );

int main()
{
    int m,n,p;
    
    scanf("%d %d",&m,&n);
    printf("sum of(");
    for(p=m;p<=n;p++){
        if(prime(p) !=0 ){
        printf("%d",p);}
    }
    printf(") = %d\n", primesum(m,n));
    
    return 0;
}
int prime(int p)
{
    int i,limit;
    
    if(p<=1){
    return 0;}
    else if(p==2){
    return 1;}
    else{
        limit=sqrt(p)+1;
        for(i=2;i<=limit;i++){
            if(p%i==0){
                return 0;
                }
            }
            return 1;
        
        }

}
int primesum(int m,int n)
{
    int i;
    int sum=0;
    for(i=m;i<=n;i++){
        if(prime(i)==1){
            sum=sum+i;}
    }
    return sum;

}