数字问题

来源:互联网 发布:淘宝直播点赞要钱吗 编辑:程序博客网 时间:2024/05/17 00:13
题目1. 写一函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间有一个空格。

如输入1990,应输出“1 9 9 0”。 

题目2. 将1,2,3,4,5,6,7,8,9共9个数分成三组,组成3个三位数,且使这3个三位数构成1:2:3的比例,

例如:3个三位数192,384,576满足以上条件.192:384:576=1:2:3。试求出所有满足条件的3个三位数。 

代码:

#include <stdio.h>#include <stdlib.h>#define CHOISE 1#if CHOISE//题目一void transfor(int n,char*p){int i=0;while (n){*(p+i) = n%10+'0';n = n/10;if (n){i++;*(p+i) = ' ';}i++;}for (i=i-1;i>=0;i--){printf("%c",*(p+i));}}int main(void){int n;char*p=NULL;printf("请输入四位数字的整数:\n");scanf("%d",&n);p = (char*)malloc(sizeof(char)*8);transfor(n,p);return 0;}#else//题目二int judge_1(int n){int i,j,k;k = n%10;n = n/10;j = n%10;n = n/10;i = n%10;return i*j*k;}int judge_2(int n){int i,j,k;k = n%10;n = n/10;j = n%10;n = n/10;i = n%10;return i+j+k;}int main(void){int i;for (i=123;i<=329;i++){if (judge_1(i)*judge_1(2*i)*judge_1(3*i)==1*2*3*4*5*6*7*8*9 && judge_2(i)+judge_2(2*i)+judge_2(3*i)==45){printf("%d %d %d\n",i,2*i,3*i);}}return 0;}#endif

0 0
原创粉丝点击