#include <stdioh>
int f1(int a[],int n)
{
int m=a[0],i;
for(i=1;i<n;i++)
if(a[i]>m)
m=a[i];
return m;
}
int main()
{
int a[10]={71,62,45,99,58,87,49,60,71,94};
printf("最高分是:%d\n",f1(a,10));
return 0;
}
修改后的C语言程序:
#include<stdioh>void main()
{
float jd(float a[][5]); / 修改处1 /
float a[][5] = {{78,59,63,70,55}, {3,2,4,3,3}}; / 修改处2 /
float pjd = jd(a); / 修改处3 /
printf("平均绩点:%1f\n", pjd); / 修改处4 /
if(pjd >= 2) / 修改处5 /
printf("获得学位证\n");
else
printf("无法获得学位证\n");
}
float jd(float a[][5])
{
float zxf=0, sum=0;
int i;
float result; / 修改处6 /
for(i=0; i<=4; i++)
zxf = zxf + a[1][i];
for(i=0; i<=4; i++)
{
if(a[0][i] >= 60)
sum=(float)(sum + (a[0][i] - 50) 01 a[1][i]);
}
result = sum / zxf; / 修改处7 /
return result; / 修改处8 /
}
运行测试:
平均绩点:13无法获得学位证
至于输入输出部分自己会做吧,我就给你实现的函数代码以及一个测试的(我用的vc2010,如果有不兼容的就稍微改改即可)
#include <stdioh>
#include <stdlibh>
#include <timeh>
void fun(int s,int num)
{
int i,save;
int space;
i=0;
save=0;
while (i<num-1)
{
if (s[i]>s[i+1])
{
space=s[i];
s[i]=s[i+1];
s[i+1]=space;
save=i;
if (i>0)
{
i--;
}
}
else
{
if (save)
{
i=save;
save=0;
}
i++;
}
}
}
void main()
{
srand((unsigned int)time(0));
int count=(int)(((unsigned int)rand())%10)+10;
int a=new int[count];
for (unsigned long i=0;i<count;i++)
{
a[i]=rand();
}
fun(a,&count);
for (unsigned long i=0;i<count;i++)
{
printf("%d\n",a[i]);
}
}
?没懂。。。看怎么设计啊。。。
是说 动态二维数组的创建的时候?
可以传递空 返回首地址; 也可以 传递首地址 返回空;
赋值 可以返回int 赋值个数 可以返回 bool 成功与否 可以返回 空
根据需要来确定
函数的返回值顶多是一个数,通过函数直接返回的这个数只有在是指针时才能给出多个数据结果。
可以考虑以下几个方法:
返回指针:
int display() { int p; p=malloc(sizeof(int)6); return p; } //用p[0]~p[5]计算各位
void main() { int p; p=display(); free(p); }
使用全局变量:将shiwa,wa,qiao,bai,shi,ge定义成全局变量,然后子程序和主程序直接用
使用函数参数:
void display(int shiwa,int wa,int qiao,int bai,int shi,int ge)
函数中用类似这样的用法计算:(ge)=Data%10;
void main() { int shiwa,wa,qiao,bai,shi,ge; display(&shiwa,&wa,&qiao,&bai,&shi,&ge) }
用一个足够长的数返回:
long display() { long n; n=shiwa; n=10; n+=wa; n=10; n+=qiao; n=10; n+=bai; n=10; n+=shi; n=10; n+=ge; return n; }
void main() { int wa; long n; n=display(); wa=n/10000; wa%=10; }
进行调用就可以了。
比如
int add(int a,int b){
return a+b;
}
int main()
{
int a=1,b=1;
int sum = add(a,b);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)