首页 > 编程语言 >程序修改题(31-40)

程序修改题(31-40)

时间:2024-09-17 10:50:45浏览次数:3  
标签:s3 int s2 31 40 程序修改 fun found s1

第三十一题

题目

给定程序modi1.c中,函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。

例如,若主函数中a字符串为: aBCDeFgH

主函数中b字符串为: ABcd

则c中的字符串应为: aBcdeFgH。

#include <stdio.h>
#include <string.h>
void  fun(char *p ,char *q, char *c)
{
/************found************/
  int k = 1;
/************found************/
    while( *p != *q )
    {  if( *p<*q )  c[k]=*q;
       else         c[k]=*p;
       if(*p) p++;
       if(*q) q++;  
       k++; 
    }
}
main()
{   char  a[10]="aBCDeFgH", b[10]="ABcd", c[80]={'\0'};
    fun(a,b,c);
    printf("The string a:  ");  puts(a);
    printf("The string b:  ");  puts(b);
    printf("The result  :  ");  puts(c);
  getchar();
}

解析

int k = 0;

while( *p != '\0'|| *q != '\0' )

第三十二题

题目

给定程序MODI1.C中,函数fun的功能是求矩阵(二维数组)a[N][N]中每行的最小值,结果存放到数组b中。

例如:若 

a={ 1   4  3    2

      8   6  5    7

     11 10 12  9

     13 14 15 16}(矩阵)

则结果应为1,5,9,13,

#include  <stdio.h>
#define   N   4
void fun(int  a[][N], int  b[])
{   int  i, j;
    for (i=0; i<N; i++)
    {
/**********found**********/
        b[i] = a[0][0];
/**********found**********/
        for (j=1; j<N-1; j++)
/**********found**********/
           if ( b[i] < a[i][j] )
               b[i] = a[i][j];
    }
}
main()
{   int  a[N][N]={{1,4,3,2},{8,6,5,7},{11,10,12,9},{13,16,14,15}},b[N];    int  i;
    fun(a,b);
    for (i=0; i<N; i++)  printf("%d,", b[i]);
    printf("\n");
    getchar();
}

解析

b[i] = a[i][0];

for (j=1; j<N; j++)

if ( b[i] > a[i][j] )

第三十三题

题目

给定程序MODI1. C中函数fun的功能是:将一个十进制整数转换成r(二~十六)进制形式。

例如:输入125 16,则输出:7D

输入9 2,则输出:1001

#include <stdio.h>
void fun(int num, int r)
{   int i = 0, a[32];
    char b[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

    do
    {
        a[i] = num % r;
/************found************/
        num %= r;
        i++;
/************found************/
    } while(num==0);
/************found************/
    for(i; i>0; --i)
        printf("%c", b[a[i]]);
}

int main()
{   int num, r;
    printf("\n请输入整数和进制:");
    scanf("%d %d", &num, &r);
    fun(num, r);
    printf("\n");
    return 0;
}

解析

num /= r;

while(num>0);

for(i=i-1; i>=0; --i)

第三十四题

题目

给定程序MODI1. C中,函数fun的功能是:逐个判断字符串s2中的字符是否在字符串s1中出现过,并把出现过的字符按照原来在s2中的顺序形成新字符串s3,不去除重复字符。

例如:当s1为:”abcdefghijk",s2为: “zbcyedmnpggn”时,则s3应该是: "bcedgg”

#include <stdio.h> 
#include <string.h> 
void fun( char *s1, char *s2, char *s3)
{   int i,j,k=0;
	for(i = 0; i<strlen(s2); i++)  
	{	for(j = 0; j<strlen(s1); j++)  
/**********************found***********************/
			if (s2[i] != s1[j])
			   break;
/**********************found***********************/
		if (j>=strlen(s1))
/**********************found***********************/
			s3[++k]=s2[i];
	}
	s3[k] = '\0';
}
void main() 
{	char s1[128], s2[128], s3[128];  
	printf("Please input string1:"); 
	gets(s1);   
	printf("Please input string2:");  
	gets(s2);    
	fun(s1,s2,s3);
	printf("string:%s\n", s3);   
}

解析

if (s2[i] == s1[j])

if (j<strlen(s1))

s3[k++]=s2[i];

第三十五题

题目

给定程序MODI1. C中,函数fun的功能是:将a串奇数位置(注意:不是下标)上的字符与

b串偶数位置上的字符交叉合并,形成一个新字符串存入c所指的存储空间。合并过程中,任何一个字符串到达串尾,则合并过程结束。

例如:a串为: asderty

b串为: zxcvb

则c串为: axdvr

#include <stdio.h>
void fun( char *a,char *b,char *c)
{  int i=0,j=0;
   while( a[i]!='\0' && b[i]!='\0')
   { 
         c[j++]=a[i];
/************found************/ 	   
         if(b[i+1]=='\0') 
	         c[j++]=b[i+1];
         else
/************found************/  
	         continue;    
		 if (a[i+1]=='\0') 
			 break;
         i+=2;
   }
/************found************/
   c[j+1]='\0';   
}
 main()
{  char a[40]="asderty",b[40]="zxcvb",c[80];
   fun(a,b,c);
   puts(c);
}

解析

if(b[i+1] != '\0') 

 break;  

c[j]='\0';

第三十六题

题目

#include <stdio.h>
#include <math.h>
/**********found**********/
double fun(double a, dounle x0)
{   double   x1, y;
    x1=(x0+ a/x0)/2.0;
/**********found**********/
    if( fabs(x1-xo)>0.00001 )
	  y=fun(a,x1);
    else  y=x1;
    return  y;
}
main( )
{   double  x;
    printf("Enter x: "); scanf("%lf",&x);
    printf("The square root of %lf is %lf\n",x,fun(x,1.0));
    getchar();
}

解析

double fun(double a, double x0)

if( fabs(x1-x0)>0.00001 )

第三十七题

题目

#include <stdio.h>

/**************found**************/
fun (int n )
{   int  a = 2, b = 1, c, k ;
    double  s=0.0 ;
    for ( k = 1; k <= n; k++ )
    {  s = s + 1.0 * a / b ;
/**************found**************/
       c = a;  a += b; b += c;
    }
    return(s) ;
}

main( )
{   int   n = 5 ;
    printf( "\nThe value of  function is: %lf\n",  fun (  n ) ) ;
    getchar();
}

解析

double fun (int n )

c = a;  a += b; b = c;

第三十八题

题目

给定程序MODI1.C中函数fun的功能是:交换主函数中两个变量的值。例如:若变量a中的值原为8,b中的原值为3。程序运行后a中的值为3,b中的值为8。

#include <stdio.h>

/*********found**********/
void fun(int x,int y)
{
  int t;
/*********found**********/
  t=x;x=y;y=t;
}

main()
{
  int a,b;
  a=8;b=3;
  fun(&a,&b);
  printf("%d,  %d\n",a,b);
  getchar();
}

解析

void fun(int *x,int *y)

t=*x;*x=*y;*y=t;

第三十九题

题目

给定程序MODI1. C中,函数fun的功能是:将字符串s1和s2合并形成新字符串s3,假定s1

字符串的长度为L1,s2的长度为L2。合并方法为:把s2的第L2-i-1个字符插入到原s1的第i个字符后,如果s1比s2长,则s1剩余的部分按在s1中的顺序放在新生成的s3后;如果s2比s1长,则s2剩余的部分按在s2中的顺序的逆序放在新生成的s3后。

例如:当s1为:“123456789012345”,

s2为:“abcedfghijk”时,

输出结果应该是: “1k2j3i4h5g6f7 e8d9c0b1a2345”

#include <stdio.h>
#include <string.h>
void fun(char *s1, char *s2, char *s3)
{
	int i,j,L2;
	L2=strlen(s2);
	for(i=0,j=0;(s1[i]!='\0')&&(s2[i]!='\0');i++,j=j+2)
	{
		s3[j]=s1[i];
/***********found**********/
		s3[j+1]=s2[i];
	}
/***********found**********/
	if(s1[i]=='\0')
		for(;s1[i]!='\0';i++,j+=1)
			s3[j]=s1[i];
	else if (s2[i]!='\0')
		for(;s2[i]!='\0';i++,j++)
			s3[j]=s2[L2-1-i];
/***********found**********/
	s3[i]='0';
}
void main()
{
	char s1[128], s2[128], s3[255];
	printf("Please input string1:");
	gets(s1);
	printf("Please input string2:");
	gets(s2);
	fun(s1,s2,s3);
	printf("string %s\n", s3);
}

解析

s3[j+1]=s2[L2-i-1];

if(s1[i]!='\0')

s3[j]='\0';

第四十题

题目

#include <stdio.h>
/************found************/
int  fun ( int n )
{  float  A=1; int i;
/************found************/
   for (i=2; i<n; i++)
     A = 1/(1+A);
   return A ;
}

main( )
{  int  n ;

   printf("\nPlease enter n: ") ;
   scanf("%d", &n ) ;
   printf("A%d=%f\n", n, fun(n) ) ;
  getchar();
}

解析

float  fun ( int n )

for (i=2; i<=n; i++)

标签:s3,int,s2,31,40,程序修改,fun,found,s1
From: https://blog.csdn.net/2401_82772407/article/details/142266634

相关文章

  • 教育部等十八部门关于加强新时代中小学科学教育工作的意见 20240917_085127
    原文教育部等十八部门关于加强新时代中小学科学教育工作的意见_国务院部门文件_中国政府网https://www.gov.cn/zhengce/zhengceku/202305/content_6883615.htm概述教育部等十八部门联合发布此意见,强调要加强科学教育,推动校内校外融合,规范科技类校外培训。这一政策为少儿编程教......
  • 当年青少年学习编程的重要性 政策原文 20240917_090943
    新一代人工智能发展规划20240917_082658_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/12036071国务院关于印发全民科学素质行动规划纲要(2021—2035年)的通知20240917_083539_鲸鱼编程pyhui的技术博客_51CTO博客https://blog.51cto.com/u_13137233/12......
  • 简单论述TCP,UDP,HTTP,SMTP,DNS,RTP之间的关系(计算机网络408)
            最近有很多同学在刚接触计算机网络概论的时候很容易被提及到IP,TCP,UDP....之类的东西,这里就简单论述一下他们是干什么的。                                                             ......
  • 20240916总结
    不积跬步,无以千里。这两天主要是复习了图的连通性相关的题+听了youwike哥哥讲课。先是复习了缩点,割点,割边,点双,边双,2-SAT,感觉比较需要注意的是割点的那个第一个节点的判断,写题的时候总是容易忘。然后又写了几道练习题。缩点#include<iostream>#include<cstring>usingna......
  • 聪明办法学Python丨202409TASK1学习笔记
        踏入Python编程的世界之初,我便深刻地体会到了这门语言的独特魅力。Python凭借其简洁明了的语法与强大的功能性,迅速吸引了我的注意。相较于C语言等编译型语言,Python的语法更加接近自然语言,这使得即使是初次接触编程的人也能快速上手。Python的设计理念强调代码的可......
  • 列表与克隆体专题 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......
  • 多组列表共同表达同一数据 scratch 20240916_170510
    需求如果点击空格就会产生一个克隆体克隆体会随机位置克隆体它会有自己的id同时克隆体会有自己的座标要求我们使用三个列表分别记录他们的id,x,y坐标同时如果点击了某一个克隆体那么就从列表中把它相对应的一组数据删除功能克隆体的id三个列表一个列表存id一个列表......
  • 数据的容器 列表 scratch 20240916_155811
    什么是列表列表是数据的容器创建列表列表添加内容清空内容查找数据根据位置查找数据修改数据删除数据根据下标删除数据遍历所有数据让主角依次把所有的数据都说一遍......
  • 体验克隆体变量 scratch 20240916_153936
    需求本体产生三个克隆体每个克隆体都会说出自己的血量如果鼠标点击这个克隆体角色克隆体的血量就减少同时他说出来的数据也就会变小制作克隆体变量克隆体变量一定要是私有的当本体被克隆时这个私有的变量也会被克隆不过克隆后就各是各的数据了最终代码......
  • 贪吃蛇游戏开发 scratch 20240916_140728
    项目名称贪吃蛇规则只要吃食物就会变长碰到边界就死亡碰到自己的尾巴就会死亡角色贪吃蛇食物障碍物关于图像图像分为矢量图与位图矢量图可以无限放大位图放大后会模糊绘制蛇头要求:使用一个圆形来画蛇头圆形有边框蛇头有两个眼睛蛇头有一根红蛇头使用矢量图来绘......