(12/50 节 页面下方包含QQ群、作者QQ等)
1、使用while循环,找出输入的两个正整数(均大于等于2)的最大公约数
#include<stdio.h>
int main()
{
    int a,b,c;
    printf("请输入两个数字,空格分隔\n");
    scanf("%d %d",&a,&b);
    if( (a<=1) || (b<=1) )  //不合法
        return 1;
    if( a>b )   //令c为a、b中较小数
        c=b;
    else
        c=a;
    while( ((a%c) != 0) || ((b%c)!=0))
        --c;
    printf("最大公约数是 %d\n",c);
    //让用户输入回车,达到暂停的目的
    scanf("\n\n\n\n");
    return 0;
}2、使用while循环,找出输入的两个正整数(均大于等于2)的最小公倍数
#include<stdio.h>
int main()
{
    int a,b,c;
    printf("请输入两个数字,空格分隔\n");
    scanf("%d %d",&a,&b);
    if( (a<=1) || (b<=1) )  //不合法
        return 1;
    if( a>b )   //令c为a、b中较大数
        c=a;
    else
        c=b;
    while( ((c%a) != 0) || ((c%b)!=0))
        ++c;
    printf("最小公倍数是 %d\n",c);
    //让用户输入回车,达到暂停的目的
    scanf("\n\n\n\n");
    return 0;
}3、输入一行字符,分别统计出其中字母、空格、数字和其它字符的个数
#include<stdio.h>
int main()
{
    char c;
    int letter = 0,num = 0,space = 0,other=0;
    while( (c=getchar()) !='\n' )   //回车结束
    {
        if( (('a'<=c) && ('z'>=c)) ||
            (('A'<=c) && ('Z'>=c)) )
            ++letter;   //小写或大写字母
        else if( ('0'<=c) && ('9'>=c) )
            ++num;  //数字
        else if( ' '== c)
            ++space;//空格
        else
            ++other;
    }
    printf("%d个字母 %d个数字 %d个空格 %d个其它字符\n",letter,num,space,other);
    //让用户输入回车,达到暂停的目的
    scanf("\n\n\n\n");
    return 0;
}4、求
的值,a是一个数字为3,n表示a的位数,n为用户输入。例输入n值为5,则计算5+55+555+5555+55555的值
#include<stdio.h>
int main()
{
    int n,a=5,m=1,sum=0;
    scanf("%d",&n);
    printf("开始计算\n");
    while(m<=n)//n次循环
    {
        int t=1,na=a;
        while(t<m)//构造出n个a
        {
            na = na*10 + a;
            ++t;
        }
        printf("%d\n",na);//输出
        sum+=na;
        ++m;
    }
    printf("和为%d\n",sum);
    //让用户输入回车,达到暂停的目的
    scanf("\n\n\n\n");
    return 0;
}
    作者:冥河 QQ:3304576112
      交流QQ群:554701039 
 本教程内容由本站保留版权,请勿复制传播。