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"); } }
#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]); } } }
第四个:最大公约数和最小公倍数 #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); }
#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); }
#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; }
/* 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; }