C语言习题级答案1
/*------------------------------------------------
【程序设计】1
--------------------------------------------------
功能:将两个两位数的正整数a、b合并形成一个整数放在c
中。合并的方式是: 将a数的十位和个位数依次放
在c数的个位和百位上, b数的十位和个位数依次放
在c数的十位和千位上。
例如: 当a=45,b=12, 调用该函数后, c=2514。
------------------------------------------------*/
#include "stdio.h"
void fun(int a, int b, long *c)
{
/**********Begin**********/
*c=a/10+a%10*100+b/10*10+b%10*1000;
/********** End **********/
}
main()
{
int a,b; long c;
printf("Input a, b:");
scanf("%d%d", &a, &b);
fun(a, b, &c);
printf("The result is: %ld\n", c);
NONO();
}
NONO ( )
{
FILE *rf, *wf ;
int i, a,b ; long c ;
rf = fopen("in.dat", "r") ;
wf = fopen("out.dat","w") ;
for(i &#61; 0 ; i <10 ; i&#43;&#43;)
{
fscanf(rf, "%d,%d", &a, &b) ;
fun(a, b, &c) ;
fprintf(wf, "a&#61;%d,b&#61;%d,c&#61;%ld\n", a, b, c) ;
}
fclose(rf) ;
fclose(wf) ;
}
------------------------------------------------
【程序设计】2
--------------------------------------------------
功能&#xff1a;请编一个函数void fun(int tt[M][N],int pp[N])&#xff0c;
tt指向一个M行N列的二维数组&#xff0c;求出二维数组每列
中最小元素&#xff0c;并依次放入pp所指一维数组中。二维
数组中的数已在主函数中赋予。
------------------------------------------------*/
#include
#include
#define M 3
#define N 4
void fun(int tt[M][N],int pp[N])
{
/**********Begin**********/
int i,j;
for(j&#61;0;j
{
pp[j]&#61;tt[0][j];
for(i&#61;1;i
if(tt[i][j]
pp[j]&#61;tt[i][j];
}
/********** End **********/
}
void NONO();
main()
{
int t[M][N]&#61;{{22,45,56,30},
{19,33,45,38},
{20,22,66,40}};
int p[N],i,j,k;
printf("The original data is:\n");
for(i&#61;0;i
{
for(j&#61;0;j
printf("%6d",t[i][j]);
printf("\n");
}
fun(t,p);
printf("\nThe result is:\n");
for(k&#61;0;k
printf("\n");
NONO();
}
vo