问题13:
编程解决如下问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡, 问鸡翁,鸡母,鸡雏各几何?(20分)
问题14:
编程实现:有二维数组a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}},将数组a的每一行元素均除以该行上绝对值最大的元素,按行输出新数组。(20分)
问题15:
编程:设x、y取值为区间[1,10]的整数, f(x,y)=(3x-2y)/(x+y),求使f(x,y)取最小值的x1、y1,要求使用自定义函数实现f(x,y)功能。(20分)
问题16:
编写函数fun,其功能是:在字符串中所有数字字符前加一个“*”字符,要求通过指针实现。(20分)
问题17:
编程:已知学生记录由学号和学习成绩构成,N名学生的记录已存入结构体数组中,找出成绩最低的学生,并输出这个学生的信息,已知学生信息如下。(20分)
A01,81;A02,89;A03,66;A04,87;A05,77
A06,90;A07,79;A08,61;A09,80;A10,71
问题13实现代码:
/* author:宋金时 */
/* date:2011/11/02 */
#include "Stdio.h"
#include "Conio.h"
#define TOTAL 100
#define GONG 5
#define MU 3
#define XIAO 1/3
int main(void)
{
/* 此处添加你自己的代码 */
int m_i,m_j,m_k;
puts("GONG MU XIAO");
for(m_i=1;m_i<TOTAL;m_i++)
{
for(m_j=1;m_j<TOTAL;m_j++)
{
for(m_k=1;m_k<TOTAL;m_k++)
{
if(((m_i+m_j+m_k)==100)&&((m_i*GONG+m_j*MU+m_k*XIAO)==100))
printf("%d %d %d\n",m_i,m_j,m_k);
}
}
}
getch();
return 0;
}
问题14实现代码:
/* author:宋金时 */
/* date:2011/11/02 */
#include "Stdio.h"
#include "Conio.h"
#include "math.h"
int main(void)
{
/* 此处添加你自己的代码 */
float arr_num[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};
int m_i,m_j,abs_max;
for(m_i=0;m_i<3;m_i++)
{
abs_max = 0;
for(m_j=0;m_j<3;m_j++)
{
if(fabs(arr_num[m_i][m_j])>fabs(arr_num[m_i][abs_max]))
abs_max = m_j;
}
for(m_j=0;m_j<3;m_j++)
{
arr_num[m_i][m_j]/=arr_num[m_i][abs_max];
printf("%f ",arr_num[m_i][m_j]);
}
printf("\n");
}
getch();
return 0;
}
问题15实现代码:
/* author:宋金时 */
/* date:2011/11/02 */
#include "Stdio.h"
#include "Conio.h"
double f(int x,int y);
int main(void)
{
double m_min;
int m_i,m_j,m_x,m_y;
m_min = f(1,1);
for(m_i=0;m_i<10;m_i++)
{
for(m_j=0;m_j<10;m_j++)
{
if(m_min>f(m_i+1,m_j+1))
{
m_min = f(m_i+1,m_j+1);
m_x = m_i+1;
m_y = m_j+1;
}
}
}
printf("x=%d y=%d\n",m_x,m_y);
getch();
return 0;
}
double f(int x , int y)
{
return ((double)(3*x-2*y)/(double)(x+y));
}
问题16实现代码:
/* anthor:宋金时 */
/* date:2011/11/01 */
#include "Stdio.h"
#include "Conio.h"
#define N 20
int main(void)
{
/* 此处添加你自己的代码 */
char str[N],*s_p,*temp_p,*s_new;
puts("please input a string:");
gets(str);
s_p = str;
while(*s_p!='\0')
{
if((*s_p>='0')&&(*s_p<='9'))
{
s_new = (char*)malloc(strlen(s_p)+1);
strcpy(s_new,s_p);
*s_p='\0';
strcat(str,"*");
s_p++;
strcat(str,s_new);
free(s_new);
s_new = NULL;
}
s_p++;
}
puts(str);
getch();
return 0;
}
问题17实现代码:
/* author:宋金时 */
/* date:2011/11/02 */
#include "Stdio.h"
#include "Conio.h"
#define N 10
typedef struct student
{
char num[20];
int score;
}stu;
int main(void)
{
/* 此处添加你自己的代码 */
stu arr_stu[N]={{"A01",81},{"A02",89},{"A03",66},\
{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},\
{"A09",80},{"A10",71}};
int m_i,m_pos=0;
for(m_i=0;m_i<N;m_i++)
{
if(arr_stu[m_i].score<arr_stu[m_pos].score)
{
m_pos = m_i;
}
}
puts("number score");
printf("%s %d\n",arr_stu[m_pos].num,arr_stu[m_pos].score);
getch();
return 0;
}