1120C语言练习

计算从一到指定数字里有多少个9

#include <stdio.h>

int counter(int num)
{
    int i,j;//jishubianliang
    int flag = 1;//
    int counts = 0;
    int pins = 0;
    int bug = 0;
    printf("num=%d\n",num);
    for(j = 0;j <= num;j++)
    { 
        i = j;
       // printf("i=%d\n",i);
        if( i%10 == 9)
        {
            counts++;
        }
        while(flag!=0)
        {   
            pins = i/10;
            if(pins%10 == 9)
            {
                counts++;
            }
            flag = i/10;
            i = pins;
    
           //printf("counts=%d\n",counts);
           // printf("flag=%d\n",flag);
           // printf("i=%d\n",i);
        }
        flag = 1;
    }
    return counts;
}

int main()
{
    int counts = 0;
    int num = 0;
    printf("type a number:");
    scanf("%d",&num);
    counts = counter(num);//dioayonghanshu
    printf("there is %d num9s\n",counts);
    return 0;
}

输出1000以内的完数

#include <stdio.h>

int main()
{
    int i ,j ;
    int num ;
    for( i = 2 ; i <= 1000 ; i ++)
    {
        num = 0;
        for ( j = 1 ; j <= i/2 ; j++)
        {
            if(i%j==0)
            {
                num = num + j;
            }
            if(num == i)
            {
                printf("%5d its factors are 1",i);
                for(j = 2 ; j < i ; j++)
                {
                    if (i%j == 0 )
                    {
                        printf(",%d",j);
                        printf("\n");
                    }
                }

            }
        }
    }
    return 0;
}

输出指定位数以内的素数

#include <stdio.h>

int prime(int num)
{
    int div;
    int flag = 0;
    for(div = 2; 2*div <= num; div++)
    {
        if(num%div == 0)
        {
            flag++;
           // printf("func div = %d\n" ,div);
        }
        // printf("func flag = %d\n",flag);
        if(flag == 0)
        {
            return 1;
        }
     }
    if(flag >= 1)
    {
        return 0;
    }
    
}

int main()
{
    int num;
    printf("type the num:");
    scanf("%d",&num);
    int flag;
    int i;
    int lins = 0;
    for(i = 2;i <= num; i++)
    {
        flag = prime(i);
        if(flag == 1)
        {

            printf("%4d",i);
            lins++;
        }
        if(lins == 5)
        {
            lins = 0;
            printf("\n");
        }
    }
    return 0;
}

打印一个"*"构成的图形并统计个数

#include <stdio.h>

int main()
{
    int i , j , k;
    int num;// input number
    int spac , stars;
    scanf("%d",&num);
    for(i = 1 ; i <= num ; i++ )
    {       
            spac = 0;
            stars = 0;
            for(j = num-1 ; j >= i  ; j-- )
            {
                printf(" ");
                spac ++;
            }
            for(k = 1 ; k <= (2*i - 1) ; k++)
            {
                printf("*");
                stars ++;
            }
            for(j = num-1 ; j >= i  ; j-- )
            {
                printf(" ");
                spac ++;
            }
            printf("spac = %4d,stars = %4d",spac ,stars);
            printf("\n");
    }
    
    for(i = 1 ; i <= num-1 ; i++ )
    {
            spac = 0;
            stars = 0;
            for(j = 1 ; j <= i ; j++ )
            {
                printf(" ");
                spac ++;
            }
            for(k = 1 ; k <= (2*(num -1 -i) + 1) ; k++)
            {
                printf("*");
                stars ++;
            }
            for(j = 1 ; j <= i ; j++ )
            {
                printf(" ");
                spac ++;
            }
            printf("spac = %4d,stars = %4d",spac ,stars);
            printf("\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/xyc895/article/details/84308818
今日推荐