48.1题 请补充fun函数,该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组str中。例如:当n=12345678时,str="87654321"。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。#include <stdio.h>
#include <conio.h>
#define  N 80
char  str[N];
void fun(long int  n)
{
int  i = 0;
while (___1___)
{
str[i] = ___2___;
n /= 10;
i++;
}
___3___;
}
main()
{
long int  n = 1234567;
printf("****** the origial data ********\n");
printf("n=%ld", n);
fun(n);
printf("\n%s", str);
}
答案:
数组类型字符串转数组n>0
n%10+'0'
str[i]='\0'
第48.2题 下列给定程序中,函数fun的功能是:从N个字符串中出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <string.h>
#define  N 5
#define  M 81
/********found********/
fun(char  (*sq)[N])
{
int  i;
char  *sp;
sp = sq[0];
for (i=0; i<N; i++)
if (strlen(sp) < strlen(sq[i]))
sp = sq[i];
/********found********/
return sq;
}
main()
{
char  str[N][M], *longest;
int  i;
printf("Enter %d lines:\n", N);
for (i=0; i<N; i++)
gets(str[i]);
printf("\nThe N string  :\n", N);
for (i=0; i<N; i++)
puts(str[i]);
longest = fun(str);
printf("\nThe longest string :\n");
puts(longest);
}
答案:
char * fun(char (*sq)[M])
return sp;
第48.3题 请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方
式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12,调用该项函数后,c=4152。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <conio.h>
#include <stdio.h>
void fun (int a, int b ,long *c)
{
*c=a/10*1000+b/10*100+a%10*10+b%10 ;
}
main ()
{
int a,b;
long c;
FILE *out;
printf ("Input a, b:");
scanf("%d%d", &a, &b);
fun (a, b, &c);
printf ("The result is: %d\n",  c);
out=fopen ("out.dat", "w");
for (a = 10; a < 20; a++)
{
fun(a, 109-a, &c);
fprintf(out, "%d\n", c);
}
fclose (out );
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。