1【C语言】下面程序的功能是:读入一个整数m,计算如下公式的值:
下面程序的功能是:读入一个整数m,计算如下公式的值:
#include <conio.h>
#include <stdio.h>
double MyX( int m )
{
double t = 1.0;
int i;
/************FOUND**********/
for( i = 2; i <= m; i++ )
t += 1/i;
return( t );
}
main()
{
int m;
printf( "\nPlease enter a integer number:" );
scanf( "%d", &m );
/************FOUND**********/
printf( "\nThe result is %d\n", MyX( m ) );
}
2.将两个两位数的正整数a、b合并形成一个整数放在C中
合并的方式是:将a数的十位和个位数依次放在 C数的千位和十位上,b数的十位和个位数依次放在C数的个位和百位上。
例如,当a=45,b=12时,C=4251。
#include <conio.h>
#include <stdio.h>
void fun(int a, int b, long *c)
{
}
NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
int i, a,b ; long c ;
rf = fopen("in1.dat", "r") ;
wf = fopen("bc05.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) ;
}
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();
}
3.请编一个函数float fun(double h),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如:若h值为8.32433,则函数返回8.32;若h值为8.32533,则函数返回8.33。
#include<conio.h>
#include<stdio.h>
#define VSIZE 20
float fun(float n)
{
}
NONO ( )
{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
float aa,ff;
int i;
FILE *rf, *wf ;
rf = fopen("bc69.in", "r") ;
wf = fopen("bc69.out", "w") ;
for(i = 0 ; i < VSIZE ; i++)
{
fscanf(rf, "%f",&aa) ;
ff=fun(aa) ;
fprintf(wf, "%.2f\n",ff) ;
}
fclose(rf) ;
fclose(wf) ;
}
main()
{
float a;
printf("Enter a: ");
scanf("%f",&a);
printf("The original data is: ");
printf("%f\n\n",a);
printf("The result :%f\n",fun(a));
NONO();
}
4.94.请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
例如,若主函数从键盘给n输入20后,则输出为s=0.583333。
注意:n的值要求不大于100。
#include <stdio.h>
double fun(int n)
{
}
NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
FILE *rf, *wf ; int n, i ; double s ;
rf = fopen("bc.in", "r") ;
wf = fopen("bc.out", "w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d", &n) ;
s = fun(n) ;
fprintf(wf, "%lf\n", s) ;
}
fclose(rf) ; fclose(wf) ;
}
main()
{ int n; double s;
printf("\nInput n: "); scanf("%d",&n);
s=fun(n);
printf("\n\ns=%f\n",s);
NONO();
}
5.设计一个程序,给定一个四位整数,计算各位数字之和(忽略整数正负号) 输出这个四位数各位数字之和如输入1234输出10。
#include <stdio.h>
#include <math.h>
int fun(int n)
{
}
void NONO ();
int main()
{
int n=10000;
//为避免输入非数值类型数据,将n初始化成不在1000和9999之间的数
//变量类型定义正确
printf("Input a decimal between 1000 and 9999:\n");
scanf("%d",&n);
printf("The sum of the total bit is %d\n",fun(n));
NONO ();
return 0;
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *wf ;
int a;
wf = fopen("out.dat","w") ;
a=fun(4522) ;
fprintf(wf, "The sum of the total bit is %d\n", a) ;
}
6.圆半径为r,正方形边长a=2r/3 ,函数的形参是圆的半径r,计算出阴影部分面积作为函数值返回。
#include<stdio.h >
#define PI 3.141592
float fun(float r)//计算出阴影部分面积
{
}
void NONO ();
int main()
{
float r;
printf("输入圆半径:\n");
scanf("%f",&r);
printf("阴影部分面积:%0.4f\n",fun(r));
NONO ();
return 0;
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *wf ;
float a;
wf = fopen("out.dat","w") ;
a=fun(15) ;
fprintf(wf, "阴影部分面积:%0.4f\n", a) ;
fclose(wf) ;
}