清华大学出版社 C语言程序设计教程内容
如果对您有帮助,别忘了关注博主~
包含内容:选择结构,循环结构,数组,函数,结构体,共用体
一、数组
1.输入10个整数,求和。
#include <stdio.h>
#include <math.h>
int main()
{
int a[10] ,i,sum=0;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
printf("sum=%d\n",sum);
return 0;
}
2.输入n个整数,求和
#include <stdio.h>
#include <math.h>
int main()
{
int a[10] ,i,n,sum=0; //n<=10
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
printf("sum=%d\n",sum);
return 0;
}
3.计算fibonacci数列(斐波那契数列)
#include <stdio.h>
#include <math.h>
int main()
{
int f[20],i;
f[0]=f[1]=1;
for(i=2;i<20;i++)
{
f[i]=f[i-1]+f[i-2];
}
for(i=0;i<20;i++)
{
printf("%6d",f[i]);
if((i+1)%5==0)printf("\n");
}
return 0;
}
4.输入n个整数,求最小值(比较值法,下标法)
//比较值法
#include <stdio.h>
#include <math.h>
int main()
{
int i,min,n,a[10];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
min=a[0];
for(i=1;i<n;i++)
if(a[i]<min)min=a[i];
printf("%d\n", min);
return 0;
}
//下标法求最值
#include <stdio.h>
#include <math.h>
int main()
{
int i,index,n,a[10];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
index=0;
for(i=1;i<n;i++)
if(a[i]<a[index])index=i;
printf("%d\n", a[index]);
return 0;
}
5.输入n个整数,用选择法将他们从小到大排序后输出。
#include <stdio.h>
#include <math.h>
int main()
{
int i,index,n,a[10],t,k;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++)
{
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index])index=i;
t=a[k];
a[k]=a[index];
a[index]=t;
}
for(i=0;i<n;i++)
printf("%3d",a[i]);
return 0;
}
6.用冒泡法对10个数排序(由小到大)。
#include <stdio.h>
#include <math.h>
int main()
{
int a[10],i,t,k;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(k=0;k<9;k++)
{
for(i=0;i<9-k;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
for(i=0;i<10;i++)
printf("%3d",a[i]);
return 0;
}
7.将一个二维数组行和列元素互换,存到另一个二位数组中。例如:
#include <stdio.h>
#include <math.h>
int main()
{
int a[2][3]={{2,3,4},{5,6,7}},b[3][2],i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
b[j][i]=a[i][j];
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
printf("%3d",b[i][j]);
printf("\n");
}
return 0;
}
8.求方阵下三角元素之和。
#include <stdio.h>
#include <math.h>
int main()
{
int a[3][3],i,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i>=j)sum+=a[i][j];
printf("sum=%d\n",sum);
return 0;
}
9.打印以下六行杨辉三角。
#include <stdio.h>
#include <math.h>
int main()
{
int a[6][6],i,j;
for(i=0;i<6;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<6;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j] ;
for(i=0;i<6;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
二、总结
如果对您有帮助,别忘了关注博主~