zoukankan      html  css  js  c++  java
  • C语言:求n(n<10000)以内的所有四叶玫瑰数。-将字符串s1和s2合并形成新的字符串s3,先取出1的第一个字符放入3,再取出2的第一个字符放入3,

    //函数fun功能:求n(n<10000)以内的所有四叶玫瑰数并逐个存放到result所指数组中,个数作为返回值。如果一个4位整数等于其各个位数字的4次方之和,则称该数为函数返回值。

     1 #include<stdio.h>
     2 #pragma warning (disable:4996)
     3 int fun(int n, int result[])
     4 { 
     5     int sum=0,j=0;
     6     int a, b, c, d;
     7     for (int i = 1000; i < n; i++)
     8     {
     9         a = i / 1000;
    10         b = (i % 1000) / 100;
    11         c = (i % 100) / 10;
    12         d = i % 10;
    13         if ((a*a*a*a + b * b*b*b + c * c*c*c + d * d*d*d) == i)
    14         {
    15             result[j++] = i;
    16         }
    17     }
    18     return j;
    19 }
    20 main( )
    21 {
    22     int result[10], n, i;
    23     void NONO(int result[], int n);
    24     n = fun(9999, result);
    25     for(i=0; i<n; i++) printf("%d
    ", result[i]);
    26     NONO(result, n);
    27 }
    28 
    29 void NONO(int result[], int n)
    30 {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
    31     FILE *fp ;
    32     int i;
    33 
    34     fp = fopen("out.dat","w") ;
    35     fprintf(fp, "%d
    ", n);
    36     for(i=0; i<n; i++) fprintf(fp, "%d
    ", result[i]);
    37     fclose(fp);
    38 }

    //函数fun将字符串s1和s2合并形成新的字符串s3,先取出1的第一个字符放入3,再取出2的第一个字符放入3,中,以此类推,若1和2的长度不等,较长的字符顺序放在新生成的3后。

     1 #include <stdio.h> 
     2 #include <string.h> 
     3 #pragma warning (disable:4996)
     4 void fun( char *s1, char *s2, char *s3)
     5 {   int i,j;
     6 /**********************found***********************/
     7     for(i = 0, j = 0; (s1[i] != '') && (s2[i] != ''); i++, j = j + 2)  //j自增2
     8     {       s3[j] = s1[i];   
     9         s3[j+1] = s2[i];   
    10     }    
    11     if (s2[i] != '')  
    12     {       for(; s2[i] != ''; i++, j++)   
    13 /**********************found***********************/
    14              s3[j] = s2[i];  
    15     }   
    16     else if (s1[i] != '')  
    17     {   for(; s1[i] != ''; i++, j++)       
    18             s3[j] = s1[i];
    19     }
    20 /**********************found***********************/
    21     s3[j] = '';
    22 }
    23 void main() 
    24 {      char s1[128], s2[128], s3[255];  
    25     printf("Please input string1:"); 
    26     gets(s1);   
    27     printf("Please input string2:");  
    28     gets(s2);    
    29     fun(s1,s2,s3);
    30     printf("string:%s
    ", s3);   
    31 } 
  • 相关阅读:
    加分二叉树
    香甜的黄油 Sweet Butter
    09.22今日暂时停更题解
    能量项链
    转圈游戏
    字串变换
    关押罪犯
    选择客栈
    神经网络
    未整理算法的总结
  • 原文地址:https://www.cnblogs.com/ming-4/p/10494889.html
Copyright © 2011-2022 走看看