C 语言经典程序举例 C 语言经典程序举例题目 1 :求 100 之内的素数程序源代码: #include #include "" #define N 101 main() { int i,j,line,a[N]; for(i=2;ifor(i=2;i for(j=i+1;j { if(a[i]!=0&&a[j]!=0) if(a[j]%a[i]==0) a[j]=0;} printf("\n"); for(i=2,line=0;i{ if(a[i]!=0) {printf("%5d",a[i]); line++;} if(line==10) {printf("\n"); line=0;} }} 题目 2 :对 10 个数进行排序 1. 程序分析: 可以利用选择法, 即从后 9 个比较过程中, 选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后 8 个进行比较,并进行交换。 2. 程序源代码: #define N 10 main() {int i,j,min,tem,a[N]; /*input data*/ printf("please input ten num:\n"); for(i=0;i{ printf("a[%d]=",i); scanf("%d",&a[i]);} printf("\n"); for(i=0;iprintf("%5d",a[i]); printf("\n"); /*sort ten num*/ for(i=0;i{min=i; for(j=i+1;jif(a[min]>a[j]) min=j; tem=a[i]; a[i]=a[min]; a[min]=tem; } /*output data*/ printf("After sorted \n"); for(i=0;iprintf("%5d",a[i]); } 题目 3 :求一个 3*3 矩阵对角线元素之和 1. 程序分析: 利用双重 for 循环控制输入二维数组, 再将 a[i][i] 累加后输出。 2. 程序源代码: main() { float a[3][3],sum=0; int i,j; printf("please input rectangle element:\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%f",&a[i][j]); for(i=0;i<3;i++) sum=sum+a[i][i]; printf("duijiaoxian he is %",sum); } 题目 4: 有一个已经排好序的数组。现输入一个数, 要求按原来的规律将它插入数组中。 1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后,此元素之后的数,依次后移一个位置。 2. 程序源代码: main() { int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; printf("original array is:\n"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); printf("insert a new number:"); scanf("%d",&number); end=a[9]; if(number>end) a[10]=number; else {for(i=0;i<10;i++) { if(a[i]>number) {temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) {temp2=a[j]; a[j]=temp1; temp1=temp2; } break; }}} for(i=0;i<11;i++) printf("%6d",a[i]); } 题目 5 :将一个数组逆序输出。 1. 程序分析:用第一个与最后一个交换。 2. 程序源代码: #define N5 main() { int a[N]={9,6,5,4,1},i,temp; printf("\n original array:\n"); for(i=0;i printf("%4d",a[i]); for(i=0;i {temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp; } printf("\n sorted array:\n"); for(i=0;i printf("%4d",a[i]); } 题目 6 :打印出杨辉三角形(要求打印出 10 行如下图) 111121********** 10 1051 程序源代码: main() {int i,j; int
C语言经典程序举例 来自淘豆网m.daumloan.com转载请标明出处.