首页 > 编程语言 >(计算机二级C语言)程序设计题<74>

(计算机二级C语言)程序设计题<74>

时间:2024-03-14 21:33:05浏览次数:25  
标签:wf int double C语言 NONO rf 74 fun 程序设计

题目:

#include  <stdio.h>
#include  <math.h>
double fun(int n)  
{


}
void main()
{ int  n;    
  double  sum;
  void NONO( );
  printf("\n\nInput n:  ");  
  scanf("%d",&n);
  sum=fun(n);
  printf("\n\nsum=%f\n\n",sum);
  NONO();
}
void NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
  FILE *rf, *wf ; 
  int n, i ; 
  double s ;
  rf = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, "%d", &n) ;
    s = fun(n) ;
    fprintf(wf, "%lf\n", s) ;
  }
  fclose(rf) ; fclose(wf) ;
}

题解:

#include  <stdio.h>
#include  <math.h>
double fun(int n)  
{
	int m,k,i;
	double s=0.0;
	for(m=3;m<=n;m++)
	{
		k=(int)sqrt((double)m);
		for(i=2;i<=k;i++)
			if(m%i==0) break;
		if(i>=k+1)
			s+=sqrt((double)m);
	}
	return s;
}
void main()
{ int  n;    
  double  sum;
  void NONO( );
  printf("\n\nInput n:  ");  
  scanf("%d",&n);
  sum=fun(n);
  printf("\n\nsum=%f\n\n",sum);
  NONO();
}
void NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
  FILE *rf, *wf ; 
  int n, i ; 
  double s ;
  rf = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, "%d", &n) ;
    s = fun(n) ;
    fprintf(wf, "%lf\n", s) ;
  }
  fclose(rf) ; fclose(wf) ;
}

标签:wf,int,double,C语言,NONO,rf,74,fun,程序设计
From: https://blog.csdn.net/2301_79580018/article/details/136722118

相关文章

  • c语言:深入了解指针(2)
    1.const修饰变量变量是可以修改的,如果将变量的地址传给一个指针变量,可以通过指针变量来改变这个变量的值,如果我们不想这个变量的值不能被随意更改,我们就可以使用const来修饰这个变量。intmain(){ intn=10;//n是变量 n=5; printf("%d\n",n); return0;}我们可......
  • [C语言]还原原版的扫雷
    今天看了b站鹏哥做的扫雷,其中有几点鹏哥没有进行优化,第一个就是没有在进行游戏前不布置雷,在选择第一个方块的时候再布置雷,还有就是如何像原版扫雷一样,点到一个周围为0的方块再检测其周围的方块的取值,鹏哥也暗示了可以用递归的方法,最后一点就是像原版一样进行标记选择,最后一点其......
  • C语言const 和 *的爱恨情仇
    相信所有在学C的人都对const和*这对小情侣非常熟悉,实在是太烦了。他们中间还时不时得加个第三者什么int,char啥的。看了很多资料再加上我自身的总结提炼理解以后,我终于把他们理清了。首先const这个关键字是用来修饰常量的,我们就简称它为常量。定义指针的时候都会用到*,int*p......
  • 实验1 c语言开发环境使用和数据类型、运算符、表达式
    task1`#include<stdio.h>intmain(){printf("o\n");printf("\n");printf("II\n");printf("o\n");printf("<H>\n");printf("II\n");return0;}``#include<stdio......
  • 实验1_C语言输入输出和简单程序编写
    task1_11#include<stdio.h>2#include<stdlib.h>3intmain()4{5printf("O\n");6printf("<H>\n");7printf("II\n");8printf("O\n");9printf("<H>\n");10p......
  • C语言:洛谷数组题目(2)(冰雹猜想,校门外的树,旗鼓相当的对手)
    目录1.前言2.三则题目1.冰雹猜想1.题目描述2.输入格式3.输出格式4.题解2.校门外的树1.题目描述2.输入格式3.输出格式4.题解3.旗鼓相当的对手1.题目描述2.输入格式3.输出格式4.题解3.小结1.前言今天小蒟蒻继续为大家分享洛谷数组题单题解,一共三道题,希望大......
  • 滴水逆向笔记系列-c语言总结6-20.多级指针 数组指针 函数指针-21.位运算-22.内存分配
    第二十课c语言13多级指针数组指针函数指针1.多级指针反汇编一二级指针可以看到p1==*(p1+0)==p1[0]本来一直没想懂为什么是movsxecx,byteptr[eax],是byte,才发现p1是char类型,所以才得用movsx拓展(p1+2)==p1[2],指针可以用和[]取值,他们是一样的(((p3+1)+2)+3)==p3[......
  • 深入C语言指针,使代码更加灵活(二)
    一、数组名的理解前面我们在使用指针访问数组内容的时候,有这样的代码:intarr[10]={1,2,3,4,5,6,7,8,9,10};int*p=&arr[0];在这里我们使用&arr[0]的方式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,而且是数组首元素的地址。我们来进行测试:#d......
  • 滴水逆向笔记系列-c语言总结4-15.switch语句反汇编-16.指针1-17.指针2
    第十五课c语言8switch语句初步测试感觉switch在反汇编的语句和if语句的唯一差别就是jcc语句比较集中当分支大于四条时,switch的反汇编开始变3为switch传入的值,1是case最小值,4是case最大值减1,算出偏移量后通过偏移量4加上基址就可以在大表中获取要输出的case语句的地址当现在case......
  • 滴水逆向笔记系列-c语言总结5-
    第十八课c语言11字符串与数组这一节课b站缺失了,参考一下大佬的笔记学习,链接:https://blog.csdn.net/Edimade/article/details/124446533?spm=1001.2014.3001.55021.字符数组:::infochararr[10]={'A','B','C','D','E','F'};//编译器默认在结尾添加......