重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
创新互联建站长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为坡头企业提供专业的成都网站建设、网站制作,坡头网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
#define N 40
void input(float *score, int size)
{
int i;
printf("Enter %d scores:\n", size);
for(i = 0; i size; i++)
scanf("%f", score[i]);
}
void output(float *score, int size)
{
int i;
printf("Scores:\n");
for(i = 0; i size; i++)
printf("%.2f ", score[i]);
}
float average(float *score, int size)
{
int i;
float ave = 0.0;
for(i = 0; i size; i++)
ave += score[i];
return ave/size;
}
int main(void)
{
float score[N];
input(score, N);
output(score, N);
printf("\nAverage: %.2f\n", average(score,N));
return 0;
}
A和B都不能完成该功能,A中p定义的是一个指针,由于没有初始化指向的地址空间,所以不能直接用*p,B中由于x, y是值传递,传递的是实参变量的拷贝,所以这里交换的值不影响调用部分变量的值的改变。
修改后的C语言程序:
#include stdio.h
void triangle(int g)
{
int n=1, m; /* 修改处1 */
for(n;n=g; n++)
{
for(m=1;m=2*n-1;m++) /* 修改处2 */
putchar('*');
putchar('\n');
}
}
void rectangle(int g)
{
int n=1, m; /* 修改处3 */
for(n;n=g;n++)
{
for(m=1;m=3;m++) /* 修改处4 */
putchar('*');
putchar('\n');
}
}
int main()
{
int i,k;
printf("请输入行数(大于3):");
scanf("%d",i);
printf("请选择图形:1---三角形 \t2---矩形\t3---小旗 :");
scanf("%d",k);
if(k==1)
{
triangle(i);
}
if(k==2)
{
rectangle(i);
}
if(k==3)
{
triangle(i);
rectangle(i);
}
return 0;
}