为了账号安全,请及时绑定邮箱和手机立即绑定

一个小白的小C栗子小栗子

标签:
C
一、乘法表
//程序功能:打印9*9乘法表
//2017.3.8
/*
1*1=1
2*1=2  2*2=4
3*1=3  3*2=6  3*3=9
4*1=4  4*2=8  4*3=12  4*4=16
5*1=5  5*2=10  5*3=15  5*4=20  5*5=25
6*1=6  6*2=12  6*3=18  6*4=24  6*5=30  6*6=36
7*1=7  7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49
8*1=8  8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64
9*1=9  9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j;
    for(i=1;i<=9;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("%d*%d=%d  ",i,j,i*j);
        }
        printf("\n");
    }
}
二、数字三角形
/*程序功能:打印数字三角形
2017.3.11
         1
        121
       12321
      1234321
     123454321
    12345654321
   1234567654321
  123456787654321
 12345678987654321
 */

#include<stdio.h>
void Generate(int m,int n);
int  main()
{
    int i,j;
    for(i=1;i<=9;i++)
    {
        for(j=1;j<=10-i;j++)
            printf(" ");
        Generate(1,i);
        printf("\n");
    }
}
void Generate(int m,int n)
{
    if(m==n)
        printf("%d",m);
    else
    {
        printf("%d",m);
        Generate(m+1,n);
        printf("%d",m);
    }
}
三、最大公约数&最小公倍数
//函数功能:求两个数的最大公约数和最小公倍数
//2017.3.7
/*
input two integer:
12 18
The greatest common divisoris is :6
The least common multipile is :36
*/
#include<stdio.h>
int Gcd(int x,int y);
int Lcm(int x,int y);
int main()
{
    int num1,num2;
    printf("input two integer:\n");
    scanf("%d%d",&num1,&num2);
    printf("The greatest common divisoris is :%d\n",Gcd(num1,num2));
    printf("The least common multipile is :%d\n",Lcm(num1,num2));
    return 0;
}

int Gcd(int x,int y)
{
    int r;
    r=x%y;
    while(r!=0)
    {
        x=y;
        y=r;
        r=x%y;
    }
    return y;
}

int Lcm(int x,int y)
{
    return (x*y)/Gcd(x,y);
}
四、删除字符串中的数字字符
/*程序功能:删除字符串中的数字字符
2017.3.11

run:
输入一个含有数字字符的字符串:
abcd1234efgh6789ABCD23EF
删除数字字符后:  abcdefghABCDEF
*/
#include<stdio.h>
#include <string.h>
void delDigit(char *p);
int main()
{
    char str[50];
    printf("输入一个含有数字字符的字符串:\n");
    gets(str);
    delDigit(str);
    printf("删除数字字符后:  %s",str);
    return 0;
}
void delDigit(char *p)
{
    char *pc;
    for(pc=p;*pc!='\0';pc++)
    {
        while(*pc>='0'&&*pc<='9'){
            strcpy(pc,pc+1);
        }
    }
}
五、输出1~1000内的所有完数
/*程序功能:输出1~1000内的所有完数
2017.3.11
run:
   6  28 496
*/

#include <stdio.h>
int Wanshu(int n);
int main()
{
    int i;
    for(i=2;i<1000;i++)
    {
        if(Wanshu(i))
        {
            printf("%4d",i);
        }
    }
    return 0;
}
int Wanshu(int n)
{
    int i,sum=0;
    for(i=1;i<=n/2;i++)
    {
        if(n%i==0)
        sum+=i;
    }
    if(sum==n)
        return 1;
    else
        return 0;
}
六、菱形
//程序功能:打印菱形
//2017.3.8
/*
input line:
10
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,line;
    printf("input line:\n");
    scanf("%d",&line);
    //上三角形
    for(i=0;i<line;i++)
    {
        for(j=1;j<line-i;j++)
        {
            printf(" ");
        }
        for(j=1;j<=2*i+1;j++)
        {
            printf("*");
        }
    printf("\n");
    }

//下三角形
    for(i=0;i<line-1;i++)
    {
        for(j=0;j<=i;j++)//j<=行号
        {
            printf(" ");
        }
        for(j=1;j<=2*(line-i-1)-1;j++)//打印2*(line-1)-i个*
        {
            printf("*");
        }
        printf("\n");
    }

}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
学生
手记
粉丝
1
获赞与收藏
5

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消