116

116: date:2021.1.31
在这里插入图片描述要点: fun函数中,将s1[i]放入s3[j] , s2[i]放入s3[j+1]中,每次循环数组s3中放入2个字符,所以循环变量j的变化为 j = j+2; 所以将for循环中的j = j+1改为j = j+2;

详细代码:

#include <stdio.h> 
#include <string.h> 
#pragma warning (disable:4996)
void fun( char *s1, char *s2, char *s3)
{
    
       int i,j;
/**********************found***********************/
	for(i = 0, j = 0; (s1[i] != '\0') && (s2[i] != '\0'); i++, j = j + 2)  
	{
    
       	s3[j] = s1[i];   
		s3[j+1] = s2[i];   
	}    
	if (s2[i] != '\0')  
	{
    
       	for(; s2[i] != '\0'; i++, j++)   
/**********************found***********************/
		     s3[j] = s2[i];  
	}   
	else if (s1[i] != '\0')  
	{
    
       for(; s1[i] != '\0'; i++, j++)       
			s3[j] = s1[i];
	}
/**********************found***********************/
	s3[j] = '\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);   
} 

在这里插入图片描述要点: 赋值简化; 取一个数的各个位上的数字;

详细代码如下:

#include<stdio.h>
#pragma warning (disable:4996)
int fun(int n, int result[])
{
    
     
	/* analyse:
	寻找n以内的四玫瑰数:
	 判断四玫瑰数
		for
		if
		变量k
	  standard:
		int a,b,c,d,i,sum=0;
		int count = 0;
		for(i = 1000; i <= n; i++)
		{
			a = i%10;
			b = i/10%10;
			c = i/100%10;
			d = i/1000%10;
			sum = a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d;
			if(i == sum)
			{
			 result[count++] = i;
			}
		}
		return count;
	*/
	int i;
	int j=0;
	for(i = 1000; i <= n; i++)
	{
    
    
		if(i == ((i%10)*(i%10)*(i%10)*(i%10)+(i/10%10)*(i/10%10)*(i/10%10)*(i/10%10)+(i/100%10)*(i/100%10)*(i/100%10)*(i/100%10)+(i/1000%10)*(i/1000%10)*(i/1000%10)*(i/1000%10)))
		{
    
    	result[j]=i;
			j++;
		}
		
	}
	return j;
}
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);
}

猜你喜欢

转载自blog.csdn.net/weixin_44856544/article/details/113480847
116