| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2065 人关注过本帖, 4 人收藏
标题:C程序学习实例,将不断更新
取消只看楼主 加入收藏
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
结帖率:100%
收藏(4)
 问题点数:0 回复次数:22 
C程序学习实例,将不断更新
我将在学习中,不断把我学过的例程代码发在这里,希望大家只发C程序实例代码,别的话都不说,能给后面的学习者留下点有用的东西。

第一个:九九乘法口诀:
程序代码:
#include "stdio.h"
void main()
{
  int x=1,y=1;
  for(y=1;y<10;y++)
  {
    
      for(x=1;x<=y;x++)
      {
          printf("%dx%d=%2d  ",x,y,x*y);
      }
      printf("\n");
  }
}



搜索更多相关主题的帖子: 程序学习 学习者 
2011-11-16 19:15
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
第二个:完数,一个数如果恰好等于它的因子之和称为完数,如:6=1+2+3
程序代码:
#include "stdio.h"
void main()
{
    static int k[100];
    int i,j,n,s;
    for(j=2;j<1000;j++)
    {
        n=-1;
        s=j;
        for(i=1;i<j;i++)
        {
            if((j%i)==0)
            {
                n++;
                s=s-i;
                k[n]=i;
            }
        }
        if(s==0)
        {
            printf("%d is a wanshu: ",j);
            for(i=0;i<n;i++)
            {
                printf("%d,",k[i]);
            }
            printf("%d\n",k[n]);
        }
    }
              
}


2011-11-16 19:17
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
第三个:分解质因数
程序代码:
#include "stdio.h"
#include "math.h"
void main()
{
    int n,i;
    printf("\nplease input a number:\n");
    scanf("%d",&n);
    printf("%d=",n);
    for (i=2;i<=n;i++)
    {
        while(n!=i)
        {
            if(n%i==0)
            {
                printf("%d*",i);
                n=n/i;
            }
            else
            break;
        }
    }
    printf("%d",n);
           
}


2011-11-16 19:19
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
程序代码:
第四个:最大公约数和最小公倍数



#include "stdio.h"
void main()
{
    int a ,b,num1,num2,temp;
    printf("please input two number:\n");
    scanf("%d%d",&num1,&num2);
    if(num1<num2)
    {
        temp=num1;
        num1=num2;
        num2=temp;
    }
    a=num1;
    b=num2;
    while(b!=0) /*辗除法*/
    {
        temp=a%b;
        a=b;
        b=temp;
    }
    printf("gongyueshu:%d\n",a);
    printf("gongbeishu:%d\n",num1*num2/a);
}
2011-11-16 19:22
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
第五个:分别统计出输入一行字符中的字母、空格、数字和其它字符个数。
程序代码:
#include "stdio.h"
void main()
{
    char c;
    int letters=0,space=0,digit=0,others=0;
    printf("please input some characters\n");
    while((c=getchar())!='\n')
    {
        if(c>='a'&&c<='z'||c>='A'&&c<='Z')
        letters++;
        else if(c==' ')
               space++;
             else if(c>='0'&&c<='9')
                    digit++;
                  else
                    others++;
    }
    printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);
}



2011-11-16 19:26
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
第六个:水仙花数。指一个三位数,其各位数字立方和等于该数,
如:153=1*1*1+5*5*5+3*3*3
程序代码:
#include "stdio.h"
void main()
{
    int i,j,k,n;
    printf("water flower's number is: ");
    for(n=100;n<1000;n++)
    {
        i=n/100;
        j=n/10%10;
        k=n%10;
        if(i*i*i+j*j*j+k*k*k==n)
        printf("%5d",n);
    }
}




2011-11-16 19:29
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
第七个:密码输入。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

#define MAX 100
#define BACKSPACE 8

int main(void)
{

 char passwords[MAX+1], ch;

 int i=0;

   puts("Input the passwords:");
   while((ch = getch()) != '\r' && i < MAX)
   {
  if (ch == BACKSPACE)
  {
   if (i > 0)
   {
    passwords[--i] = NULL;
    printf("\b ");
    printf("%c%c%c", BACKSPACE, ' ', BACKSPACE);
   }
   else
    putchar(7); //bell
  }
  else
  {
   passwords[i++] = ch;
   printf("*");
  }

 }

 passwords[i] = '\0';

 printf("\nYour passwords is: ");

 puts(passwords);   

   system("pause");
   return 0;
} 



2011-11-16 19:35
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
第八:信封
有n封信,求出完全装错情形的所有方式及和总数。如,输入n=3,完全装错的方式共有2种,分别是312和231。
程序代码:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "math.h"

int num[30]={0};

int add(int i,int n)//对数组进行+1处理,达到最大数向前进1,同时当前位置0.
{
    num[i]++;
    if(i==0&&num[i]>n)
    {
        printf("数据出错");
        return 0;
    }
    else if (num[i]>=n)//大于n表示要向前进一位
     {
           num[i]=0;
           return add(i-1,n);
          
     }
    return 1;
}

int camp(int n)//对各位数进行比较处理
{
    int i,ok;
    if(num[n]==n)//n位上等于n,信正确反回错
    {
        return 0;
    }
    if(n==0)
        return 1;
    else
        {
            ok=camp(n-1);
            if (!ok)
                return 0;
        }
    for (i=n-1;i>=0;i--)
    {
        if(num[i]==num[n])//有相同数,反回错
        {
            return 0;
        }
    }
    return 1;
   
}

int main()
{
    int n=1,n2,i,j,ok,count=0,p;
    printf("请输入信封数:");
    scanf("%d",&n);
    while(n<=1)
    {
        printf("请输入一个大于1的整数:");
        scanf("%d",&n);
    }

    n2=pow(n,n);
    for(i=0;i<n2;i++)
    {
        add(n-1,n);

 //       for(p=0;p<n;p++)

 //          printf("%d",num[p]);

 //       printf("\n");
        ok=camp(n-1);
        if(ok)
        {
            count++;
            for(j=0;j<n;j++)
            {
                printf("%d",num[j]+1);
            }
            printf("  ");
            if(count%10==0)
                printf("\n");
        }
    }
    printf("\n最大全错数为:%d\n",count);
    return 1;
}
   





2011-11-16 19:39
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
第九:求素数
程序代码:
#include "stdio.h"
#include "math.h"
void main()
{
    int i,m,k,h=0;
    printf("\n");
    for (m=3;m<=100;m+=2)
    {
       
        k=sqrt(m+1);
        for(i=2;i<=k;i++)
        {
            if(m%i==0)
            {
                break;
            }
            if(i==k)
            {
                  printf("%4d",m);
                  h++;
                  if(h%10==0)
                  printf("\n");
            }
        }
       
       
       
    }
    printf("\nThe total is %d",h);
}




2011-11-16 19:52
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
第十:输入一个字符串,按ASCII码大小从小到大输出。
程序代码:
#include<stdio.h>
#include<string.h>
void fun(char str[])
{
int n,m,min,i,j;
char t;
min=str[0];
n=strlen(str);
for(i=0;i<n-1;i++)
{
  for(j=i+1;j<n;j++)
  {
      if(str[i]>str[j])
      {
          t=str[i];
          str[i]=str[j];
          str[j]=t;
      }
  }
}

}
void main()
{
char s[80];
printf("输入一个字符串:");
  gets(s);
  printf("字符串是:");
  puts(s);
    fun(s);
printf("运行后:");
puts(s);
printf("\n");
}




2011-11-16 19:57
快速回复:C程序学习实例,将不断更新
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023104 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved