C 语言教程 在线

1605c-examples-digits-count

参考方法:

#include<stdio.h>

int main()
{
    int a, b=10, c=1;
    printf("请输入一个人数字: ");
    scanf("%d",&a);
    while(a/b>0)
    {
        b=b*10;
        c++;
    };
    printf("%d是一个%d位数 \n",a,c);
    return 0;
}

1604c-examples-display-alphabets

参考方法:

#include "stdio.h"

int main() {
    int i,n;
    ant:printf("输入0或1输出小写或大写:");
    scanf("%d",&i); 
    if(i!=0 && i!=1) {
        printf("error!输入0或1 !\n");
        goto ant;
    } else {
        if(i==0)
        {
        printf("0 小写:");
          for(n=97;n<123;n++)
            printf("%c ",n);
          printf("\n");
        }

        if(i==1) {
            printf("1 大写:");
            for(n=65;n<91;n++)
                printf("%c ",n);
            printf("\n");
        }
    }

}

1603c-examples-display-alphabets

参考:

#include<stdio.h>

int main(){
    int A=65;
    int i;
    for(i=1;i<=26;i++){
        printf("%c\n",A);
        A++;
    }
    return 0;
}

1602c-examples-hcf-gcd

求两个数的最大公约数:

#include <stdio.h>

int main(void)
{
    int x, y, gcd;
    printf("请输入两个正整数:");
    scanf("%d%d", &x, &y);
    if(x < y)
        gcd = x;
    else
        gcd = y;
    while(x % gcd ||y % gcd)
        gcd--;
    printf("gcd = %d\n", gcd);

    return 0;
}

1601c-examples-hcf-gcd

也可以用辗转相除法:

#include <stdio.h>

int main()
{
    int a,b;
    int t;
    scanf("%d %d", &a, &b);
    while (b !=0 ){
        t = a%b;
        a = b;
        b = t;
        printf("a=%d b=%d t=%d\n",a , b, t);
    }
    printf("最大公约数是%d\n", a);
    return 0;
}