介绍C语言必背的18个经典程序,以下为详细内容:1、输出9*9口诀:#include "stdio.h"main() {int i,j,result;for(i=1;i<10;i++) {for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result);}printf("\n");}}2、兔子繁殖问题:main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf("%12ld%12ld",f1,f2); if(i%2==0) printf("\n");f1=f1+f2;f2=f1+f2;}}3、判断101-200之间的素数:#include "math.h"main() { intm,i,k,h=0,leap=1; for(m=101;m<=200;m++) {k=sqrt(m+1);for(i=2;i<=k;i++) if(m%i==0) {leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0) printf("\n");}leap=1;}printf("\nThetotal is %d",h);}4、找出1000以内的所有完数:main() { static int k[10]; inti,j,n,s; for(j=2;j<1000;j++) { n=-1; s=j; for(i=1;i5、将4×4数组逆时针旋转90度:main() { int a[4][4],b[4][4],i,j; for(i=0;i<4;i++) for(j=0;j<4;j++) {scanf("%d",&a[i][j]);b[3-j][i]=a[i][j];}printf("arrayb:\n");for(i=0;i<4;i++) {for(j=0;j<4;j++) printf("%6d",b[i][j]);printf("\n");}6、直角杨辉三角形打印:main() {int i,j,a[6][6];for(i=0;i<=5;i++) {a[i][i]=1;a[i][0]=1;}for(i=2;i<=5;i++) for(j=1;j<=i-1;j++) a[i][j]=a[i-1][j]+a[i-1][j-1];for(i=0;i<=5;i++) {for(j=0;j<=i;j++) printf("%4d",a[i][j]);printf("\n");}7、计算3名学生4门课程的成绩平均值:#include #include main() {float a[4][5],sum1,sum2;inti,j;for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%f",&a[i][j]);for(i=0;i<3;i++) {sum1=0;for(j=0;j<4;j++) sum1+=a[i][j];a[i][4]=sum1/4;}for(j=0;j<5;j++) {sum2=0;for(i=0;i<3;i++) sum2+=a[i][j];a[3][j]=sum2/3;}for(i=0;i<4;i++) {for(j=0;j<5;j++) printf("%6.2f",a[i][j]);printf("\n");}8、字符串反序输出:void invert(char *s) {int i,j,k;char t;k=strlen(s);for(i=0,j=k-1;i指针法:void invert(char *s) {int i,j,k;char t;k=strlen(s);for(i=0,j=k-1;i9、从字符数组s中删除c字符:main() { char s[80],c;int j,k;printf("\nEnter a string: ");gets(s);printf("\nEnter a character: ");c=getchar( );for(j=k=0;s[j]!= '\0';j++) if(s[j]!=c) s[k++]=s[j];s[k]='\0';printf("\n%s",s);}10、实现n个数据从大到小排序并输出:#include void sort(int *x,int n) {int i,j,k,t;for(i=0;ix[k]) k=j;if(k!=i) {t=x[i];x[i]=x[k];x[k]=t;}}}main() {FILE *fp;int *p,i,a[10];fp=fopen("p9_1.out","w");p=a;printf("Input 10 numbers: ");for(i=0;i<10;i++) scanf("%d",p++);p=a;sort(p,10);for(;p11、将输入数插入已排序数组:main() {inta[10]={0,12,17,20,25,28,30};int x , i, j=6;printf("Enter a number: ");scanf("%d",&x);a[0]=x;i=j;while(a[i]>x) {a[i+1]=a[i];i--;}a[++i]=x;j++;for(i=1;i<=j;i++) printf("%8d",a[i]);}12、替换字符串中特定字符:#include replace(char *s,char c1,char c2) {while(*s!='\0') {if(*s==c1) *s=c2;s++;}}main() {FILE *fp;char str[100],a,b;if((fp=fopen("p10_2.out","w"))==NULL) {printf("cannot open thefile\n");exit(0);}printf("Enter a string:\n");gets(str);printf("Enter a&&b:\n");scanf("%c,%c",&a,&b);printf("%s\n",str);fprintf(fp,"%s\n",str);replace(str,a,b);printf("Thenew string is----%s\n",str);fprintf(fp,"Thenew string is----%s\n",str);fclose(fp);}13、查找子串在主串中的位置:main() {char s1[6]="thisis";char s2[5]="is";printf("%d\n",search(s1,s2));system("pause");}int search(chars1[],char s2[]) {inti=0,j,len=strlen(s2);while(s1[i]) {for(j=0;j<len;}14、输出结构体数组元素:struct student {int num;char *name;char sex;int age;}stu[5]={{1001,"lihua",'F',18},{1002,"liuxing",'M',19},{1003,"huangke",'F',19},{1004,"fengshou",'F',19},{1005,"Wangming",'M',18}};main() {int i;struct student *ps;printf("Num \tName\t\t\tSex\tAge\t\n");for(ps=stu;ps!=NULL;ps++) {printf("%5d\t%s\t\t%s\t%d\t\n",ps->num,ps->name,ps->sex,ps->age);}}15、建立链表:#define NULL 0struct student {int num;char *name;int age ;struct student*next;};void main() {struct studenta,b,c,*head,*p;a.num=1001;a.name="lihua";a.age=18;b.num=1002;b.name="liuxing";b.age=19;c.num=1003;c.name="huangke";c.age=18;head=&a;a.next=&b;b.next=&c;c.next=NULL;p=head;do{printf("%5d,%s,%3d\n",p->num,p->name,p->age);p=p->next;}16、判断字符串是否为回文:#include #include #include main() {char s[100];int i,j,n;printf("输入字符串:\n");gets(s);n=strlen(s);for(i=0,j=n-1;i=j) printf("是回文串\n");else printf("不是回文串\n");}17、冒泡排序:#include void fun(inta[],int n) {int i,j,t;for(i=0;i<=n-1;i++) for(j=0;ja[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}main() {inta[10]={12,45,7,8,96,4,10,48,2,46},n=10,i;FILE *f;if((f=fopen("myf2.out","w"))==NULL) printf("open file myf2.outfailed!\n");fun(a,10);for(i=0;i<10;i++) {printf("%4d",a[i]);fprintf(f,"%4d",a[i]);}fclose(f);}18、计算π的近似值:#include doublecountpi(double eps) {int m=1;double temp=1.0,s=0;while(temp>=eps) {s+=temp;temp=temp*m/(2*m+1);m++;}return(2*s);}main() {FILE *fp;double eps=1e-5,pi;if((fp=fopen("p7_3.out","w"))==NULL) {printf("cannot open thefile\n");exit(0);}以上内容详细展示了C语言必背的18个经典程序。如有兴趣或想与我们一起学习计算机技术(软件开发),更多C++相关的内容尽在C语言/C++学习企鹅圈子,欢迎关注!