/*程序修改题7
给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上
为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低
位仍在低位。
例如,当s中的数为:87653142时,t中的数为:8642。
请改正程序中的错误,使它能得出正确的结果。
注重:不要改动main函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
#include
void fun (long s, long *t)
{ int d;
long sl=1;
*t = 0;
while ( s > 0)
{ d = s%10;
/************found************/
if(d%2==0)
// if (d%2=0)
{ *t=d* sl+ *t;
sl *= 10;
}
/************found************/
s/=10;
// s \= 10;
}
}
main()
{ long s, t;
clrscr();
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
}
/* 编程题
函数fun的功能是:将两个两位数的正整数a、b合并形成一个
整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数
的十位和千位上, b数的十位和个位数依次放在c数的百位和个位
上。
例如,当a=45,b=12。调用该函数后,c=5142。
注重: 部分源程序存在文件PROG1.C中。数据文件IN1.DAT中
的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
void fun(int a, int b, long *c)
{//
*c=a/10*10+a%10*1000+b/10*100+b%10;
//
}
main()
{ int a,b; long c;
clrscr();
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("in1.dat", "r") ;
wf = fopen("bc07.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d,%d", &a, &b) ;
fun(a, b, &c) ;
fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c) ;
}
fclose(rf) ;
fclose(wf) ;
}
/* 文本文件 in1.dat 内容如下:
45,12
63,54
14,78
88,91
71,13
12,45
72,32
29,99
34,43
22,44
*/
/* 输出文件 bc07.dat 内容应当如下:
a=45,b=12,c=5142
a=63,b=54,c=3564
a=14,b=78,c=4718
a=88,b=91,c=8981
a=71,b=13,c=1173
a=12,b=45,c=2415
a=72,b=32,c=2372
a=29,b=99,c=9929
a=34,b=43,c=4433
a=22,b=44,c=2424
*/
/*程序修改题8
给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上
为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低
位仍在低位。
例如,当s中的数为:87653142时,t中的数为:8642。
请改正程序中的错误,使它能得出正确的结果。
注重:不要改动main函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
#include
void fun (long s, long *t)
{ int d;
long sl=1;
*t = 0;
while ( s > 0)
{ d = s%10;
/************found************/
if(d%2==0)
// if (d%2=0)
{ *t=d* sl+ *t;
sl *= 10;
}
/************found************/
s/=10;
// s \= 10;
}
}
main()
{ long s, t;
clrscr();
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
}
/* 编程题
函数fun的功能是:将两个两位数的正整数a、b合并形成一个
整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数
的十位和千位上, b数的十位和个位数依次放在c数的百位和个位
上。
例如,当a=45,b=12。调用该函数后,c=5142。
注重: 部分源程序存在文件PROG1.C中。数据文件IN1.DAT中
的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
void fun(int a, int b, long *c)
{//
*c=a/10*10+a%10*1000+b/10*100+b%10;
//
}
main()
{ int a,b; long c;
clrscr();
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("in1.dat", "r") ;
wf = fopen("bc07.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d,%d", &a, &b) ;
fun(a, b, &c) ;
fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c) ;
}
fclose(rf) ;
fclose(wf) ;
}
/* 文本文件 in1.dat 内容如下:
45,12
63,54
14,78
88,91
71,13
12,45
72,32
29,99
34,43
22,44
*/
/* 输出文件 bc07.dat 内容应当如下:
a=45,b=12,c=5142
a=63,b=54,c=3564
a=14,b=78,c=4718
a=88,b=91,c=8981
a=71,b=13,c=1173
a=12,b=45,c=2415
a=72,b=32,c=2372
a=29,b=99,c=9929
a=34,b=43,c=4433
a=22,b=44,c=2424
*/
/*程序修改题9
给定程序MODI1.C中函数fun的功能是:求两数平方根之和,作
为函数值返回。
例如:输入12和20,输出结果是:y = 7.936238。
请改正程序中的错误,使它能得出正确的结果。
注重:不要改动main函数,不得增行或删行,也不得更改程序
的结构!
*/
#include
#include
/************found************/
double fun (double *a,
double *b)
//double fun (double *a, *b)
{ double c;
/************found************/
c = sqrt(*a)+sqrt(*b) ;
// c = sqr(a)+sqr(b) ;
return c;
}
main ( )
{ double a, b, y;
clrscr( );
printf ( "Enter a & b : "); scanf ("%lf%lf", &a, &b );
y = fun (&a, &b); printf ("y = %f \n", y );
}
/* 编程题
函数fun的功能是:将两个两位数的正整数a、b合并形成一个
整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数
的百位和千位上, b数的十位和个位数依次放在c数的个位和十位
上。
例如,当a=45,b=12。调用该函数后,c=5421。
注重: 部分源程序存在文件PROG1.C中。数据文件IN1.DAT中
的数据不得修改。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
*/
#include
#include
void fun(int a, int b, long *c)
{//
*c=a/10*100+a%10*1000+b/10+b%10*10;
//
}
main()
{ int a,b; long c;
clrscr();
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("in1.dat", "r") ;
wf = fopen("bc09.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d,%d", &a, &b) ;
fun(a, b, &c) ;
fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c) ;
}
fclose(rf) ;
fclose(wf) ;
}
/* in1.dat 内容如下:
45,12
63,54
14,78
88,91
71,13
12,45
72,32
29,99
34,43
22,44
*/
/* bc09.dat 内容应当如下:
a=45,b=12,c=5421
a=63,b=54,c=3645
a=14,b=78,c=4187
a=88,b=91,c=8819
a=71,b=13,c=1731
a=12,b=45,c=2154
a=72,b=32,c=2723
a=29,b=99,c=9299
a=34,b=43,c=4334
a=22,b=44,c=2244
*/
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |