c语言程序实例
- 格式:doc
- 大小:49.50 KB
- 文档页数:8
1译码:# include <stdio.h>int main(){char c;while((c=getchar())!='\n'){if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){ c=c-4;if(c<'a'&&c>='a'-4||c<'A')c=c+26;}printf("%c",c);}printf("\n");return 0;}Glmre!China!2输出九九乘法表的左上半角:# include <stdio.h>int main(){int k,i,j;for(i=1;i<=9;i++){for(j=1;j<=10-i;j++){k=i*j;printf("%5d",k);}printf("\n");}return 0;}3求n阶乘d的和(1!+2!+3!+~~~+n!=?):# include <stdio.h>int main(){int i,n,t=1,g=0;scanf("%d",&n);for(i=1;i<=n;i++){t=t*i;g=g+t;}printf("%d\n",g);return 0;}4输出一组数中的最大值与最小值:# include <stdio.h>int main(){int a[10],i,max,min;for(i=0;i<10;i++)scanf("%d",&a[i]);max=a[0];min=a[0];for(i=1;i<10;i++){if(max<a[i])max=a[i];if(min>a[i])min=a[i];}printf("max=%d\n",max);printf("min=%d\n",min);return 0;}5输入三边长判断能否构成三角行,若能是那种?:# include <stdio.h>int main (){int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a+b<=c||a+c<=b||b+c<=a)printf("不能构成三角形\n");else {if(a==b && b==c)printf("此三角形是等边三角形\n");if (a==b||b==c||a==c)printf("此三角形是等腰三角形\n");if (a!=b&&b!=c&&a!=c)printf("此三角形是不等边三角形\n");} return 0;}6输入成绩输出等级:(1)if语句法:# include<stdio.h>int main(){int x;scanf("%d",&x);if(x>100 || x<0)printf("error\n");else{if(x>=90 && x<=100) printf("A\n");if(x>=80 && x<90) printf("B\n");if(x>=70 && x<80) printf("C\n");if(x>=60 && x<70) printf("D\n");if(x>=0 && x<60) printf("E\n");}return 0;}(2)switch语句法:# inclde<stdio.h>int main(){int grade;scanf("%d",& grade);switch(grade/10){case 0:case 1:case 2:case 3:case 4:case 5:printf("E\n");break;case 6:printf("D\n");break;case 7:printf("C\n");break;case 8:printf("B\n");break;case 9:case 10:printf("A\n");break;default :printf("error\n");}return 0;}输出由*组成的菱形:*************************#include <stdio.h>int main (){int i,j,k;for(i=0;i<4;i++){ for(j=0;j<3-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<3;i++){for(j=0;j<i+1;j++)printf(" ");for(k=0;k<5-2*i;k++)printf("*");printf("\n");}return 0;}7冒泡排序法:# include <stdio.h>int main (){int a[10];int i,j,t;printf("intput 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",& a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers :\n");for(i=0;i<10;i++)printf("%3d",a[i]);printf("\n");return 0;}8、输出: 1121123211234321..的数阵:# include <stdio.h>int main (){int i,j,k,n;scanf("%d",n);for(i=0;i<n+1;i++){for(j=0;j<n-i;j++)printf(" ");for(k=1;k<i+1;k++)printf"%3d",k);for(k=i-1;k>0;k++)printf"%d",k0;printf"\n\n");}return 0;}9、输入十个数,按照从大到小的顺序排列,再输入一个十个数之中或之间的数,用折半查找法寻找,如果有,输出它的位置,如果没有将它插入序列当中)# include <stdio.h>int main (){int a[10];int i,j,t,k;int low,hig,mid;printf("intput 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",& a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]<a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers :\n");for(i=0;i<10;i++)printf("%3d",a[i]);printf("\n");scanf("%d",&k);low=0;hig=9;mid=(low+hig)/2;do{if(a[mid]>k)low=mid+1;else if(a[mid]<k)hig=mid-1;else break;mid=(low+hig)/2;}while(low<=hig);if (low>hig)printf("%d在a[%d]与a[%d]之间",k,hig,hig+1);elseprintf("a[%d]",mid);return 0;}10 数组转置:# include <stdio.h>int main(){int i,j,t;int a[3][3]={{4,5,6},{7,8,9},{0,1,2}};for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%3d",a[i][j]);printf("\n");}printf("\n");printf("now array is:\n");for(i=0;i<3;i++)for(j=0;j<=i;j++){t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%3d",a[i][j]);printf("\n");}return 0;}11 数组顺时针旋转90度:# include <stdio.h>int main(){int i,j,b[3][3]={0};int a[3][3]={{4,5,6},{1,2,3},{7,8,9}};printf("\n");for(i=0;i<3;i++){ for(j=0;j<3;j++)b[j][2-i]=a[i][j];}printf("array a:\n");for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%3d",a[i][j]);printf("\n");}printf("array a转置后为array b:\n");for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%3d",b[i][j]);printf("\n");}return 0;}12 结构体输出表格:# include<stdio.h>struct student{int num;char name[20];char sex;int age;};struct student stu[3]={{10101,"li lin",'m',18},{10102,"zhang fun",'m',19},{10104,"wang min",'f',20}};int main(){struct student *p;printf("No. Name sex age\n");for(p=stu;p<stu+3;p++)printf("%5d %-20s %2c %8d\n",p->num,p->name,p->sex,p->age);return 0;}。