当前位置:文档之家› C语言 第六章

C语言 第六章

1.将一个数组中的值按逆序重新排放。例如,原序为8,6,5,4,1.要求改为1,4,5,6,8.
#include
#define N 5
void main()
{
int a[N],i,temp;
printf("please enter array a:\n");
for(i=0;iscanf("%d",&a[i]);
printf("array a:\n");
for(i=0;iprintf("%4d",a[i]);
for(i=0;i{
temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
printf("\nNow array a:\n");
for(i=0;iprintf("%4d",a[i]);
printf("\n");
}
2.已知一个班10个学生的成绩,要求输入10个学生的成绩,然后求出它们的平均成绩。
3.输出图案
*****
*****
*****
*****
*****
#include
void main()
{
char a[5]={'*','*','*','*','*'};
int i,j,k;
char space=' ';
for(i=0;i<5;i++)
{
printf("\n");
printf(" ");
for(j=1;j<=i;j++)
printf("%c",space);
for(k=0;k<5;k++)
printf("%c",a[k]);
}
}
4.将10个学生的成绩按从大到小的顺序排列。
#include
void main()
{
int a[10];
int i,j,t;
printf("please enter 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("numbers :\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}
5.统计键入字符数。
#include
void main()
{
int n=0;
printf("input string:\n");
while(getchar()!='\n')
n++;
printf("n=%d\n",n);
}
6.有三个学生,三门科成绩,求三个学生分科平均成绩和各科总平均成绩。
#include
void main()
{
int i,j,s=0,average,v[3],a[3][3];
printf("input scores:");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[j][i]);
s=s+a[j][i];
s=0;
}
v[i]=s/3;
}
average=(v[0]+v[1]+v[2])/3;
printf("score1:%d\nscore2:%d\nscore3:%d\n",v[0],v[1],v[2]);
printf("total:%d\n",average);
}
input scores:12 12 12 12 12 12 12 12 12
score1:12
score2:24
score3:36
total:24
Press any key to continue
7.将数组元素按逆序输出。
#include
void main()
{
int i,a[10];
for(i=0;i<=9;i++)
a[i]=i;
for(i=9;i>=0;i--)
printf("%3d",a[i]);
printf("\n");
}
8.输入5个数,输出其中最大的数。(用数组)
#include
void main()
{
int i,max,a[5];
printf("input numbers:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<5;i++)
if(a[i]>max)
max=a[i];
printf("max=%d\n",max);
}


9.用起泡法对6个数由大到小进行排序。
#include
void main()
{
int i,j,t,a[5];
printf("input numbers:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(j=0;j<4;j++)
for(i=0;i<5-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the sorted number:\n");
for(i=0;i<5;i++)
printf(" %d",a[i]);
printf("\n");
}

10.用插入法将数组a各元素由小到大排序。
#include

>
void main()
{
int i,j,t,a[]={1,3,4,2,5,6,7,8,9,10};
for(i=0;i<10;i++)
{
for(t=a[i],j=i-1;j>=0&&ta[j+1]=a[j];
a[j+1]=t;
}
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf("\n");
}
输出结果为: 1 2 3 4 5 6 7 8 9 10
11.四则运算

正确:#include
void main()
{
float a,b;
char c;
printf("input expression:a+(-,*,/)b");
scanf("%f%c%f",&a,&c,&b);
switch(c)
{
case'+':printf("%f\n",a+b);break;
case'-':printf("%f\n",a-b);break;
case'*':printf("%f\n",a*b);break;
case'/':printf("%f\n",a/b);break;
default:printf("input error\n");
}
}
12.#include
void main()
{
int i,j;
for(i=2;i>=0;i--)
{
for(j=1;j<=i;j++)
printf("*");
for(j=0;j<=2-i;j++)
printf("!");
printf("\n");
}
}

输出结果:
**!
*!!
!!!
Press any key to continue
13.#include
void main()
{
int i,j=0,a=0;
for(i=0;i<5;i++)
do
{
if(j%3)break;
a++;
j++;
}
while(j<10);
printf("j=%d a=%d\n",j,a);
}
输出结果为:j=1 a=1
14.#include
void main()
{
int X=9;
for( ;X>0; )
{
if(X%3==0)
{
printf(" %d ",--X);
continue;
}
X--;
}
}
输出结果:8 5 2 press。。。
15.已知3*4矩阵,求出其中最大值及所在行和列。
#include
void main()
{
int i,j,row=0,colum=0,max;
int a[3][4];
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]>max)
{
max=a[i][j];
row=i;
colum=j;
}
printf("max=%d,row=%d,colum=%d\n",max,row+1,colum+1);
}
输出结果为:max=10,row=3,colum=2(数据为1 2 3 4 9 8 7 6 -10 10 -5 2)
16.

17.
18.
19.
20.

相关主题
文本预览
相关文档 最新文档