c语言函数问题解题 C语言解题

C语言 函数问题

用结构体比较方便易懂,我用结构体帮你做了一下,你可以看一看,可以运行的,我试过了。

通化网站建设公司创新互联,通化网站设计制作,有大型网站制作公司丰富经验。已为通化成百上千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的通化做网站的公司定做!

#includestdio.h

#define N 4

#define M 5

struct student//建立学生数据结构体

{

char name[15];

float score[M];

float ave;

}stu[N];

void average(struct student stu[])//求平均成绩函数

{

int i,j,k;

float t;

for(i=0;iN;i++)

{

for(j=1;jM;j++)//冒泡排序将5个评委评分从低到高排列,然后取中间的评分求平均值。

for(k=0;kM-j;k++)

if(stu[i].score[j]stu[i].score[j+1])

{

t=stu[i].score[j];

stu[i].score[j]=stu[i].score[j+1];

stu[i].score[j+1]=t;

}

for(j=1;jM-1;j++)//去掉最高和最低分后求平均分

{

stu[i].ave+=stu[i].score[j];

}

stu[i].ave/=M-2;

}

}

void sort(struct student stu[])//排序函数

{

int i,j;

struct student temp;

for(i=1;iN;i++)//冒泡排序法

for(j=0;jN-i;j++)

if(stu[j].avestu[j+1].ave)

{

temp=stu[j];

stu[j]=stu[j+1];

stu[j+1]=temp;

}

}

main()

{

int i,j;

for(i=0;iN;i++)//输入学生数据

{

printf("请输入第%d个学生的姓名:",i+1);

scanf("%s",stu[i].name);

for(j=0;jM;j++)

{

printf("请输入该生第%d个评委的评分:",j+1);

scanf("%f",stu[i].score[j]);

}

}

average(stu);//执行函数

sort(stu);

printf("\n按平均成绩逆序输出为:\n");//逆序打印数据

printf("姓名 \t成绩\n");

for(i=0;iN;i++)

printf("%s \t%.2f\n",stu[i].name,stu[i].ave);

}

希望可以帮到你,呵呵

C语言用函数解题

#include stdio.h

void putchar1(char a,char b); //从小到大输出字母

void putchar2(char a,char b); //从大到小输出字母

void space(int n); //输出n个空格

int main()

{

int n;

int i;

scanf("%d",n);

for(i=0;in;i++)

{space(n-i-1);

putchar1('A','A'+i);

putchar2('A'+i-1,'A');

}

return 0;

}

void putchar1(char a,char b)

{for(char c=a;c=b;c++)

putchar(c);

}

void putchar2(char a,char b)

{for(char c=a;c=b;c--)

putchar(c);

putchar('\n');

}

void space(int n)

{for(;n--;)

putchar(' ');

}

C语言函数问题3,求解,谢谢!

#includeiostream

using namespace std;

void fun(int *a[3], int m , int n)

{int i,j,s=0;

for(i=0;in;i++)

s+=a[i][0];

for(i=0;im;i++)

for(j=0;jn;j++)

a[i][j]+=s;

}

main(int argc,char **argv)

{

int data[3][3]={{1,2,3},{4,5,6},

{7,8,9}},*a[3],i,j;

for(i=0;i3;i++)a[i]=data[i];

fun(a, 3 , 3);

//输出结果:用 cout

cout"\n";

for(i=0;i3;i++)

{

for(j=0;j3;j++)

couta[i][j]" ";

cout"\n";

}

}

关于C语言函数的题 求解

#includestdio.h

#includestring.h

#includestdlib.h               //exit函数头文件

int main(void)

char a[30],b[30];             //存放字符串数组,数组长度可以稍微长点

char ch;                      //存放临时字符

int length_a,length_b;        //统计字符串长度

int i = 0,j = 0;

//scanf("%s",a); 

//为什么不用scanf %s:scanf遇到空格即停止,所以如果输入abc 123的话只会存入abc.下面用条件语句实现

//存入字符串a

printf("请输入字符串a并按enter键结束:");

while((ch = getchar()) != '\n')

{

i++;

if(i  30)

{

printf("输入的字符串太长,请按enter键退出重试。\n");

exit(1);

}

else

a[j++] = ch;

}

a[j] = '\0';       //添加字符串结束标识

i = 0;             //重置计数变量

j = 0;

//存入字符串b

printf("请输入字符串b并按enter键结束:");

while((ch = getchar()) != '\n')

{

i++;

if(i  30)

{

printf("输入的字符串太长,请按enter键退出重试。\n");

exit(1);

}

else

b[j++] = ch;

}

b[j] = '\0';

//得出两字符串长度

length_a = strlen(a);

length_b = strlen(b);

printf("您输入的a、b字符串依次为:\n");

printf("a:%s\n",a);

printf("b:%s\n",b);

//如果a长度大于b长度,则交换

if(length_a  length_b)

{

printf("\na较长,需交换,交换后的结果为:\n");

for(i = 0; i  length_a;i++)

{

ch = a[i];

a[i] = b[i];

b[i] = ch;

}

for(i = length_a; i  length_b; i++)

{

b[i] = a[i];

}

a[length_b] = '\0';

b[length_a] = '\0';

}

else

printf("\na较短,不需交换,结果仍为:\n");

printf("a:%s\n",a);

printf("b:%s\n\n",b);

return 0;

}


当前文章:c语言函数问题解题 C语言解题
本文链接:http://myzitong.com/article/doojeec.html