C语言基础练习

来源:互联网 发布:杭州莱茵矩阵国际 编辑:程序博客网 时间:2024/06/05 17:45

1、判断年份是否是闰年

#include <stdio.h>int main(){    int year;    int leap;    printf("Please input a year:");    scanf("%d",&year);    //输入年份    if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))    {        printf("%d is a leap year!\n",year);    }    else    {        printf("%d is not a leap year!\n",year);    }    //如果输入的年份能整除4但不能整除100或者能整除400就是闰年    return 0;}

2、判断是否是素数

#include <stdio.h>int main(){    int prime(int n);                       // 声明判断素数函数    int n = 0;    int i = 0;    for( n = 100; n <= 200; n++ )    {        i = prime(n);                       //调用判断素数函数        if( i == 1)                                 //当返回值为1时,说明该数为素数,输出这个数并让其占四个字符空间        {            printf("%4d",n);        }    }    printf("\n");    return 0;}int prime(int n){    int i;    for( i = 2; i < n; i++ )    {        if ( n % i == 0 )        {            return 0;        }    }    return 1;    //判断素数函数,输入这个数,看整个数能否整除比它小的数,能整除说明不是素数,返回0,不能整除说明是素数,返回1}

3、求两个数的最大公约数和最小公倍数

#include <stdio.h>int gyue( int m, int n ){    int temp;    int z;    if( m < n )    {        temp = m;        m = n;        n = temp;    }    //如果输入的两个数第一个数小于第二个数,交换两个数    while( n != 0 )    {        z = m % n;        m = n;        n = z;    }    //m%n得余数z,若z=0,则m为两数的最大公约数,若z != 0,则m = n,n = z,再进行循环    return m;}int gbei( int m, int n, int i ){    return (m * n / i);}//最大公倍数等于两整数乘积除以最大公倍数int main(){    int m;    int n;    int i;    int j;    printf("请输入两个正整数:");    scanf("%d,%d",&m,&n);    //录入两整数的值    i = gyue(m,n);                          //调用最大公约数函数    j = gbei(m,n,i);                        //调用最小公倍数函数    printf("这两个数的最大公约数为:%d\n",i);    printf("这两个数的最小公倍数为:%d\n",j);    return 0;}

4、计算两个数的加减乘除

#include <stdio.h>int main(){    int add( int a, int b );    int sub( int a, int b );    int mul( int a, int b );    int div( int a, int b );    //声明加减乘除四个函数    int a = 0;    int b = 0;    int c = 0;    printf("plesae input a num a:");    scanf("%d",&a);    printf("plesae input a num b:");    scanf("%d",&b);    //录入a b的值    c = add( a, b );    printf("a + b =%d\n",c);    //调用加函数并输出所得值    c = sub( a, b );    printf("a - b =%d\n",c);    //调用减函数并输出所得值    c = mul( a, b );    printf("a * b =%d\n",c);    //调用乘函数并输出所得值    c = div( a, b );    printf("a / b =%d\n",c);    //调用除函数并输出所得值    return 0;}int add( int a, int b ){    return a + b;}int sub( int a, int b ){    return a - b;}int mul( int a, int b ){    return a * b;}int div( int a, int b ){    return a / b;}

5、输入日期,判断该日期是一年的第几天

#include <stdio.h>int leapyear(int n){    if(( n % 4 == 0 && n % 100 != 0) || ( n % 400 == 0 ))    {        return 1;    }    else    {        return 0;    }}//判断闰年函数,如果年份能整除4并且不能整除100或者能整除400,就是闰年,返回1int main(){    int year;    int mouth;    int day;    int i = 0;    int j = 0;    int result = 0;    int a[12] = {31,28,31,30,31,30,31,31,30,31,30,31};    //把每个月的天数放在一个数组中    printf("请输入年月日:");    scanf("%d,%d,%d",&year,&mouth,&day);    //输入年月日并分别赋给year mouth day    for ( i = 0; i < mouth - 1; i++ )    {        result = a[i] + result;    }    //把月份之前的月的天数加在一起    result = result + day;    j = leapyear(year);    if( j == 1 )    {        if( mouth > 2)        {            result += 1;        }    }    //如果是闰年,并且月份大于2,结果+1    printf("这是第%d天\n",result);    return 0;}

6、输入整数,倒序输出

#include <stdio.h>int fun ( int n ){    int a = 0;    int b = 0;    while( n != 0 )    {        a = n % 10;                         //a等于n的最后一位上的数        b = b * 10 + a;                         n /= 10;    }    //将n倒序放入b中    return b;}int main(){    int num;    int i;    printf("请输入一个整数:\n");    scanf("%d",&num);    //录入整数的值    i = fun( num );    printf("倒序输出为:%d\n",i);    //调用fun函数,让i等于逆序输出的值,输出i    return 0;}

7、求1-100的和

#include <stdio.h>int main(){    int i = 1;    int sum = 0;    for ( i = 1; i <= 100; i++)    {        sum = sum + i;    }    printf("1到100的求和值为%d\n",sum);}

8、求200-300之间不能被3整除的数

#include<stdio.h>int main(){    int i = 200;    int count = 0;    printf("200到300之间不能被3整除的数有:\n");    for( i = 200; i <= 300; i++ )    {        if( i % 3 != 0 )        {            printf("%5d",i);            count++;                                            //当整数不能整除3时,输出该数,并让其占5个字符,同时count+1            if( count % 5 ==0)            {                printf("\n");            }            //当count能整除5时,代表已经输出5个数了,让其转行        }    }    printf("\n");    return 0;}
原创粉丝点击