首页 > 编程语言 >程序设计题(9-18)

程序设计题(9-18)

时间:2024-09-17 10:52:39浏览次数:3  
标签:wf int 18 void NONO fun 程序设计 sum

第九题

题目

请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成

(字符串长度大于等于2)。

例如:字符串: uvwxyz满足要求;

而字符串: uvxwyz不满足要求。

#include   <stdio.h>
#include  <string.h>
void NONO();
int  fun( char  *t )
{



}

main()
{  char  s[26];
   printf("请输入一个字母组成的字符串 :  "); gets(s);
   if( fun(s) )  printf("%s 是由连续字母组成的字符串.\n", s );
   else   printf("%s 不是由连续字母组成的字符串!\n", s );
   NONO();
   getchar();
}

void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *fp, *wf ;
  int i;
  char s[26], *p;

  fp = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fgets(s, 26, fp);
	p=strchr(s,'\n');
	if(p) *p=0;
    if (fun(s)) fprintf(wf, "%s\n", s+2);
	else  fprintf(wf, "%s\n", strrev(s));
  }
  fclose(fp) ;
  fclose(wf) ;
}

解析

int  fun( char  *t )
{
	while(*t!='\0'){
		if(*(t+1)-*t!=1)
			return 0;
		t++;
	}
	return 1;
}

分析

第十题

题目

函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

例如,若s所指字符串中的内容为"ABCDEFG12345",其中字符A的ASCII码值为奇数、…、字符1的ASCII码值也为奇数、…都应当删除,其它依次类推。最后t所指的数组中的内容应是:"BDF24"。

#include <stdio.h>
#include <string.h>

void  fun(char  *s, char  t[])
{



}

main()
{
  char   s[100], t[100];void NONO ();
  printf("\nPlease enter string S:"); scanf("%s", s);
  fun(s, t);
  printf("\nThe result is: %s\n", t);
  NONO();
  getchar();
}

void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  char s[100], t[100] ;
  FILE *rf, *wf ;
  int i ;

  rf = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, "%s", s) ;
    fun(s, t) ;
    fprintf(wf, "%s\n", t) ;
  }
  fclose(rf) ;
  fclose(wf) ;
}

解析

void  fun(char  *s, char  t[])
{
	while(*s!='\0'){
		if(*s%2!=1){
			*t=*s;
			t++;
		}
		s++;
	}
	*t='\0';
}

分析

第十一题

题目

解析

float  fun(int m, int n)
{
	float i=1.0,k=1.0,j=1.0,d;
	float P;
	d=m-n;
	while(m!=0){
		i*=m;
		m--;
	}
	while(n!=0){
		j*=n;
		n--;
	}
	while(d!=0){
		k*=d;
		d--;
	}
	P=i/(j*k);
	return P;
}

分析

当然也可以用‘for’循环

第十二题

题目

结构体struct mpow两个成员的意义是: a为幂的底,t为幂的指数。

请编写函数fun,其功能是:计算出x所指数组中n个幂数之和并返回。

例如,当结构体数组用如此数据12, 0,9, 2, 23, 1, 7, 2初始化时,

程序的输出结果应该是:sum= 154.000000

#include <stdio.h>
#pragma warning (disable:4996)
#define N 5
struct mpow
{
	double a;
	int t;
};
double fun(struct mpow *x,int n)
{




}
void main()
{
	void NONO();
	struct mpow x[N]={ 12,0,9,2,23,1,7,2 };
	double sum;
	sum=fun(x,4);
	printf("sum=%lf\n",sum);
	NONO();
}
void NONO ()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
  FILE *in, *out ;
  struct mpow x[N];
  int i,j ;
  double sum;
  in = fopen("in.dat","r") ;
  out = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    for(j=0 ; j < 4; j++) fscanf(in, "%lf,%d,", &x[j].a,&x[j].t) ;
	   sum=fun(x,4);
	 fprintf(out, "sum=%lf\n",sum);
  }
  fclose(in) ;
  fclose(out) ;
}

解析

double fun(struct mpow *x,int n)
{
	int i;
	double sum=0.0,k;
	for(i=0;i<n;i++){
		k=1.0;
		while(x[i].t!=0){
			k*=x[i].a;
			x[i].t--;
		}
		sum+=k;
	}
	return sum;
}

分析

第十三题

题目

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



}
main()   /* 主函数 */
{  void NONO ();
   printf("%f\n", fun(10));
   NONO();
   getchar();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *fp, *wf ;
  int i, n ;
  double s ;

  fp = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(fp, "%d", &n) ;
    s = fun(n) ;
    fprintf(wf, "%f\n", s) ;
  }
  fclose(fp) ;
  fclose(wf) ;
}

解析

double  fun(  int  n )
{
	int i;
	double sum=0.0,t;
	for(i=1;i<=n;i++){
		t=i*(i+1);
		sum+=1/t;
	}
	return sum;
}

分析

第十四题

题目

请编写一个函数fun,它的功能是:求出一个2XM整型二维数组中最大元素的值,并将此值返回调用函数。

#include <stdio.h>
#define M 4
int fun (int a[][M])
{



}

main( )
{  int arr[2][M]={5,8,3,45,76,-4,12,82} ;void NONO ();
   printf("max =%d\n", fun(arr)) ;
   NONO( ) ;
  getchar();
}

void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *wf ;
  int arr[][M]={5,8,3,90,76,-4,12,82} ;

  wf = fopen("out.dat","w") ;
  fprintf(wf, "max=%d\n", fun(arr)) ;
  fclose(wf) ;
}

解析

int fun (int a[][M])
{
	int i,j,max=0;
	for(i=0;i<2;i++)
		for(j=0;j<M;j++)
			if(a[i][j]>max)
				max=a[i][j];
	return max;
}

分析

第十五题

题目

请编写函数fun,其功能是:求n (n<10000) 以内的所有四叶玫瑰数并逐个存放到result所

指的数组中,四叶玫瑰数的个数作为函数值返回。

如果一个4位正整数等于其各个数字的4次方之和,则称该数为四叶玫瑰数。

例如:1634=1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4,

因此1634就是一个四叶玫瑰数。

#include<stdio.h>
#pragma warning (disable:4996)
int fun(int n, int result[])
{ 




}
main( )
{
	int result[10], n, i;
	void NONO(int result[], int n);
	n = fun(9999, result);
	for(i=0; i<n; i++) printf("%d\n", result[i]);
	NONO(result, n);
}

void NONO(int result[], int n)
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
	FILE *fp ;
	int i;

	fp = fopen("out.dat","w") ;
	fprintf(fp, "%d\n", n);
	for(i=0; i<n; i++) fprintf(fp, "%d\n", result[i]);
	fclose(fp);
}

解析

int fun(int n, int result[])
{ 
	int i,j=0,t,temp,sum;
	while(n>=1000 && n<=9999){
	temp=n;
    sum=0;
	for(i=0;i<4;i++){
		t=temp%10;
		sum+=t*t*t*t;
		temp=temp/10;
	}
	if(sum==n)
		result[j++]=n;
	n--;
	}
	return j;
}
int fun(int n, int result[])
{ 
    int i, j = 0, t, temp, sum;
    for(int current = 1000; current <= n; current++) { // 从1000开始到n
        temp = current;
        sum = 0;
        for(i = 0; i < 4; i++) {
            t = temp % 10;
            sum += t * t * t * t;
            temp /= 10;
        }
        if(sum == current)
            result[j++] = current;
    }
    return j;
}

分析

第一个是错的第二个是对的为啥,看不出来

第十六题

题目

请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。

例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后字符串中的内容应该是:DEFGHIJKABC。

#include <stdio.h>
#include <string.h>
#define    N    80
void fun1(char *w)  /* 本函数的功能是将字符串中字符循环左移一个位置 */
{
  int i; char t;
  t=w[0];
  for(i=0;i<(int)strlen(w)-1;i++)
    w[i]=w[i+1];
  w[strlen(w)-1]=t;
}

void  fun(char  *w, int  m)  /* 可调用fun1函数左移字符 */
{



}
main()
{  char  a[N]= "ABCDEFGHIJK";
   int  m;void NONO ();
   printf("The original string:\n");puts(a);
   printf("\n\nEnter  m:  ");scanf("%d",&m);
   fun(a,m);
   printf("\nThe string after moving:\n");puts(a);
   printf("\n\n");
   NONO();
   getchar();
}
void NONO ()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
  FILE *rf, *wf ; char a[N] ; int m, i ;
  rf = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, "%d %s", &m, a) ;
    fun(a, m) ;
    fprintf(wf, "%s\n", a) ;
  }
  fclose(rf) ; fclose(wf) ;
}

解析

void  fun(char  *w, int  m)  /* 可调用fun1函数左移字符 */
{
	int i;
	for(i=0;i<m;i++)
		fun1(w);
}

分析

标签:wf,int,18,void,NONO,fun,程序设计,sum
From: https://blog.csdn.net/2401_82772407/article/details/142208393

相关文章

  • 程序设计题(17-24)
    第十七题题目请编写函数fun,其功能是:分别求一个双精度数的整数部分和小数部分,并通过指针返回。例如:程序输入的数为:5104.7583,则输出的整数部分是:5104,小数部分是:0.758300。#include<stdio.h>#pragmawarning(disable:4996)voidfun(doubleaa,int*x,dou......
  • 程序设计题(25-32)
    第二十五题题目请编写函数fun,其功能是:在一个含有11个四位数的数组中,统计出这些数的奇数、偶数个数,然后计算出个数多的那些数的算数平均值并由函数返回,个数通过yy传回。例如,若11个数据为:1101,1202,1303,1404,1505,2611,2712,2813,2914,3202,4222则输出:yy=6,p......
  • python多线程程序设计 之一
    python多线程程序设计之一全局解释器锁线程APIsthreading.active_count()threading.current_thread()threading.excepthook(args,/)threading.get_native_id()threading.main_thread()threading.stack_size([size])线程对象成员函数构造器start/runjoin线程子类实列......
  • CF 1839 D
    题目描述给定\(N\)个不同颜色的小球。你可以进行以下操作:插入一个颜色为\(0\)的小球,此操作最多执行\(k\)次。选择一个非零球,使得该球与至少一个\(0\)小球相邻。并把该小球移动到任意位置。这样会花费\(1\)的代价。对于每个\(1\lek\leN\)求出将序列变成一个去......
  • [WesternCTF2018]shrine
    打开题目就得到了python代码importflaskimportos#导包app=flask.Flask(__name__)#创建一个flask实例,app.config['FLAG']=os.environ.pop('FLAG')#从操作系统的环境变量中读取名为FLAG的值,并将其存储在Flask的配置中,POP:读取后删除该环境变量@app.route('/')#定义一......
  • GB28181在融合指挥调度系统应用方案探究和技术实现
    GB28181规范在融合指挥调度系统主要围绕实现视频监控系统的互联互通、音视频数据的实时传输与控制、以及应急指挥调度的高效性展开。一、GB28181规范概述GB/T28181是中国国家标准《安全防范视频监控联网系统信息传输、交换、控制技术要求》的编号,该标准规定了安全防范视频监控联网......
  • 列表与克隆体专题 scratch 20240916_182231
    体验克隆体变量scratch20240916_153936_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/12031738数据的容器列表scratch20240916_155811_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/12031757多组列表共同表达同一数据sc......
  • 鸿蒙开发入门day18-自定义扩展
    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,还请三连支持一波哇ヾ(@^∇^@)ノ)目录自定义扩展能力概述AttributeModifierAttributeUpdaterAttributeModifier概述接口定义行为规格属性设置与修改设置多态样式、事件AttributeUpdater概述接口定......
  • 用函数实现模块化程序设计
    #include<stdio.h>intmain(){   inthcf(int,int);   intlcd(int,int,int);   //定义两个函数,hcf表示最大公因数,lcd表示最小公倍数   inta,b,m,n;   printf("请输入两个整数\n");   scanf("%d%d",&a,&b);   m=hcf(a,b);   n=lcd(......
  • CF 1801 C
    题目描述有\(N\)个专辑,第\(i\)个专辑中有\(k_i\)首歌曲,其中第\(j\)首歌的酷炫程度为\(a_{i,j}\)。你会选择一个排列\(p_1,p_2,\dots,p_N\),每次你会将\(p_i\)中所有歌曲从前往后依次听完。每当你遇到一个严格大于之前听过所有歌曲的歌曲,则你会对这个歌曲产生印象。......