15. void readprice(float price[8])
{
int i;
printf("Enter 8 ware's price:\n");
for (i=0;i<8;i++)
scanf("%f",&price[i]);
printf("The price of 8 wares is :\n");
for (i=0;i<8;i++)
printf("%6.2f\t",price[i]);
printf("\n");
return;
}10/23/201815
16. float averprice(float price[8])
{
float sum=0.0;
float ave;
int i;
for (i=0;i<8;i++)
sum=sum+price[i];
ave=sum/8;
return (ave);
}10/23/201816
17. float highprice(float price[8])
{
float high_temp;
int i;
high_temp=price[0];
for (i=0;i<7;i++)
if (price[i]
18. float loweprice(float price[8])
{
float lowe_temp;
int i;
lowe_temp=price[0];
for (i=0;i<7;i++)
if (price[i]>price[i+1])
lowe_temp=price[i+1];
return (lowe_temp);
}10/23/201818
19. void prtprice(float price[8],float ave)
{
int i;
printf("The ware which are higher than average price:\n");
for (i=0;i<8;i++)
if (price[i]>ave)
printf("%6.2f\t",price[i]);
return;
}10/23/201819
20. 程序运行结果: Enter 8 ware's price:
1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8
The price of 8 wares is :
1.10 2.20 3.30 4.40 5.50 6.60 7.70 8.80
The highest Price= 8.80
the lowest Price= 1.10
The average Price= 4.95
The ware which are higher than average price:
5.50 6.60 7.70 8.8010/23/201820
26. 【例7-4】 向一个具有三行四列的二维数组ary[3][4]输入数值并输出全部数组的元素。/*exam7_4.c 二位数组元素的输入与输出*/
#include
main()
{
int i,j;
int ary[3][4];
printf("Please input number of array:\n");
for (i=0;i<3;i++)
for (j=0;j<4;j++)
scanf("%d",&ary[i][j]);
printf("The number of ary is:\n");10/23/201826
27. for (i=0;i<3;i++)
{ for (j=0;j<4;j++)
printf("ary[%d][%d]=%d\t",i,j,ary[i][j]);
printf("\n");
}
}程序运行结果:Please input number of array:
1 2 3 4 5 6 7 8 9 10 11 12
The number of ary is:
ary[0][0]=1 ary[0][1]=2 ary[0][2]=3 ary[0][3]=4
ary[1][0]=5 ary[1][1]=6 ary[1][2]=7 ary[1][3]=8
ary[2][0]=9 ary[2][1]=10 ary[2][2]=11 ary[2][3]=1210/23/201827
37. scanf函数向数组输入字符串时必须注意两个问题 :第一个问题就是输入的字符串中不能包含有空格,因为用scanf函数输入字符串时,以空格或回车符作为数据分隔符 。第二个问题就是输入字符串时两边不要用双引号括起来。 例如输入:
China word 只会把“China”作为一个字符串输入,系统自动在最后加一个字符串结合标志“\0”,这时输入给数组name中的字符个数是6而不是12,见图 :10/23/201837
43. 【例7-6】 阅读下面的程序,了解二维字符数组与一维数的关系。/*exam7_6.c 二位字符数组的改变*/
#include
#include
main()
{
int i;
char name[7][4]={"sun","mon","tue","wed","thu","wen","sat"};
printf("Result is:\n");
name[0][3]='&';
name[2][3]='&';
name[5][3]='&';
for (i=0;i<7;i++)
printf("string of name[%d]=%s\n",i,name[i]);
getch();
}10/23/201843
44. 程序运行结果:
Result is:
string of name[0]=sun&mon
string of name[1]=mon
string of name[2]=tue&wed
string of name[3]=wed
string of name[4]=thu
string of name[5]=wen&sat
string of name[6]=sat程序中,人为地将name[0][3]和name[2][3]元素的字符由原来的“\0”改为“&”,这样在输出每一行的字符串时,它就要寻找到第1个行结束标志“\0”,然后把该行输出。 10/23/201844
48. main()
{
int i;
char name1[6]={"apple"};
char name2[11]={"C_Lanquage"};
printf("Result is:\n");
printf("1---%s\n",name2);
strcpy(name2,name1);
printf("2---%s\n",name2);
for (i=0;i<11;i++)
printf("%c",name2[i]);
}程序运行结果:
Result is:
1---C_Lanquage
2---apple
apple uage10/23/201848
68. main()
{
int A[4][5]={{2,6,4,9,-13},{5,-1,3,8,7},{12,0,4,10,2},{7,6,-9,5,2}};
int i=4,j=5,sum;
float ave;
sum=add_ave(i,j,A[0]);
printf("The number of sum=%d\n",sum);
ave=(float)((sum)/(i*j));
printf("The number of average=%5.2f\n",ave);
Prt_up(i,j,ave,A[0]);
getch();
}10/23/201868
69. int add_ave(int m,int n,int arr[ ])
{
int i;
int total=0;
for (i=0;i
70. void Prt_up(int m,int n,float average,int arr[ ])
{
int i,j;
printf("The number of Bigger then average are:");
for (i=0;iaverage)
printf("arr[%d][%d]=%d\t",i,j,arr[i*n+j]);
}
}10/23/201870
71. 程序运行结果:The number of sum=69
The number of average= 3.45
The number of Bigger then average are:
arr[0][1]=6 arr[0][2]=4 arr[0][3]=9
arr[1][0]=5 arr[1][3]=8 arr[1][4]=7
arr[2][0]=12 arr[2][2]=4 arr[2][3]=10
arr[3][0]=7 arr[3][1]=6 arr[3][3]=5add_ave 的作用是对任意大小的矩阵求出它所有元素的和,Prt_up的作用是打印所有大于某个值的数值元素。形参m和n是矩阵的行数和列数,形参average代表某个值,在此代表数组元素的平均值,形参arr[ ]为一个维数组。 10/23/201871
76. void Output(int m,int n)
{ printf("Lines=%d\n",m);
printf("words number=%d\n",n);
}程序运行结果:
We are learning The C programing language.
This is to count the words and lines.
Do you know what is result?
!
Line=3
Words number=106注意:输入时回车换行符没有作为字符计入字数个数中。10/23/201876