C语言题库(1)

(1)输入一个年份,判断该年份是否是闰年

int main(int argc, char *argv[])
{ 
    int y;
    printf("please input year: ");
    scanf("%d", &y);

    if(y % 4 == 0 && y % 100 != 0){
        puts("闰年");
    }else if(y % 100 == 0 && y % 400 == 0){
        puts("闰年");
    }else{
        puts("不是闰年");
    }
    return 0;
} 

(2)输出0~100(或者0~任意整数)以内的偶数

int main(int argc, char *argv[])
{ 
    for(int i = 0; i <= 100; i++){
        if(i % 2 == 0)
            printf("%d ", i);
    }
    puts("");
    return 0;
} 

(3)输入整数n,输出含有n层的 *号金字塔

此题只需要考虑每一层左边的空格和买一行的*号输出就行,右边的空格可用\n或者puts("")代替

 核心代码如下:

int main(int argc, char *argv[])
{ 
    int N, i, j, z;
    printf("please input num: ");
    scanf("%d", &N);

    for(i = 1; i <= N; i++){
        for(z = 1; z <= N-i; z++)
            printf(" ");
        for(j = 1; j <= 2*i-1; j++)
            printf("*");
        puts("");
    } 

    return 0;
} 

(4)输入n个整数,求输入数据之和:(通过for循环输入数据)

int main(int argc, char *argv[])
{ 
    int n;
    printf("please input num: ");
    scanf("%d", &n);
    int a[n],i,j;
    for(i = 0; i < n; i++)
    {
        printf("please input arr[%d]: ", i);
        scanf("%d", &a[i]);
    }

    int sum = 0;
    for(j = 0; j < n; j++)
    {
        sum += a[j];
    }

    printf("%d\n", sum);
    return 0;
} 

(5)输入字符串,将小写字母转换为大写字母,大写字母转换为小写字母

int main(int argc, char *argv[])
{ 
    char buf[20] = {0};
    puts("input string:");
    gets(buf);

    for(int i = 0; buf[i] != '\0'; i++)
    {
        if('A' <= buf[i] && buf[i] <= 'Z'){
            buf[i] += 32;
        }
        else if('a' <= buf[i] && buf[i] <= 'z'){
            buf[i] -= 32;
        }
    }
    puts(buf);

    return 0;
} 

猜你喜欢

转载自blog.csdn.net/NXBBC/article/details/125720387
今日推荐