关于才C语言的几道简单问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:53:48
1 编写一个函数prt。函数的3个参数是一个字符和两个整数。字符参数是需要输出的字符。第一个整数说明在每行中该字符输出的个数,而第二个整数指的是需要输出的行数。并编写主程序测试该函数。

2 以下函数fun的功能是从3个红球、5个白球、6个黑球中任意取出8个,且其中必须要有红球和白球。请将fun函数补充完整,输出所有方案并返回方案总数。(实践手册P161)

int fun(int x,int y,int z)

{ }

main()

{ int sum,x=3,y=5,z=6;

sum=fun(x,y,z);

printf(“sum=%d”,sum);

}

3 假设a是一个长度为n的整型数组,写一个函数maxv求出其中的最大元素值max,并将此值返回主调函数。函数定义如下:

int maxv(int n, int a[ ]) { }

同时编写主函数,从主函数中输入数组元素值调用maxv()得到最大值并输出。
望高手指点一二,不胜感谢!!

大概写了一下,按照一般思路写的。请参考。
1---------------
#include<stdio.h>

int prt(char c,int a,int b)
{
int i=0,j=0;
for(i=0;i<b;i++)
{
for(j=0;j<a;j++)
{
printf("%c",c);
}
printf("\n");
}
return 0;
}
void main()
{
prt('d',3,4);
}

2----------------
#include<stdio.h>

int fun(int x,int y,int z)

{
int i,j,k,sum=0;
int count=0;
for(i=1;i<=x;i++)
{
sum+=i;
for(j=1;j<=y;j++)
{
sum+=j;
for(k=0;k<=z;k++)
{
sum+=k;
if(sum == 8)
{
printf("red:%d,white:%d,black:%d\n",i,j,k);
count++;
// break;
}
sum-=k;
}
sum-=j;
}
sum-=i;
}
return count;
}

main()

{ int sum,x=3,y=5,z=6;