用C语言编程 1、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少? 2

用C语言编程
1、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
2、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第
10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
3、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

第一题

#include<stdio.h>
int main()
{
int i,j,k,m;
int num,n=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
for(k=1;k<=4;k++)
{
for(m=1;m<=4;m++)
{
if(i!=m&&i!=j&&i!=k&&j!=k&&j!=m&&k!=m)
{
num=i*1000+j*100+k*10+m;
n++;
printf("%-6d",num);
if(n>1&&n%10==0)
printf("\n");
}
}
}
}
}
printf("\n一共有%d个数字\n",n);
return 0;
}

第二题

#include<stdio.h>
int main()
{
int i,n;
for(i=10,n=1;i>=1;i--)
{
n=(n+1)*2;
}
printf("第一天工摘了%d个\n",n);
return 0;
}

第三题

#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,n,m,temp;
int *data;
printf("请输入n:");
scanf("%d",&n);
printf("请输入m:");
scanf("%d",&m);
data=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
data[i]=i+1;
}
printf("原数组为:\n");
for(i=0;i<n;i++)
{
printf("%-3d",data[i]);
}
for(i=1;i<=m;i++)
{
temp=data[n-1];
for(j=n-1;j>0;j--)
{
data[j]=data[j-1];
}
data[0]=temp;
}
printf("\n现在数组为:\n");
for(i=0;i<n;i++)
{
printf("%-3d",data[i]);
}
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-26
1
#include <stdio.h>
int main()
{
int a, b, c, d, count;

count = 0;
for(a=1; a<=4; a++)
for(b=1; b<=4; b++)
for(c=1; c<=4; c++)
for(d=1; d<=4; d++)
{
if(a == b || a == c || a == d || b == c || b == d || c == d) continue;
printf("%d%d%d%d\n", a,b,c,d);
count++;
}

printf("一共能组成 %d 个不同的数字\n",count);
return 0;
}

2

#include <stdio.h>
int main()
{
int res = 1;
for(int i=0; i<10; i++) res = (res + 1 ) * 2;
printf("第一天共摘了 %d 个桃子\n",res);

return 0;
}

3

#include <stdio.h>

int main()
{
int n, m;
int tmp[100], res[100];

printf("请输入n的值 %: \n");
scanf("%d",&n);

printf("请输入 %d 个数%: \n",n);
for(int i=0; i<n; i++) scanf("%d",&tmp[i]);

printf("请输入m的值 %: \n");
scanf("%d",&m);

for(int i=0; i<n; i++) res[(i + m ) % n] = tmp[i];

printf("移动后的结果为:");
for(int i=0; i<n; i++) printf("%d ",res[i]);
printf("\n");

return 0;
}

现敲的。求采纳~
第2个回答  2014-11-26
#include <stdio.h>
//1,2,3,4四位数
void fun_1()
{
int i,j,k,m,total = 0;
for(i = 1; i <= 4; i++)
{
for(j = 1; j <= 4; j++)
{
for(k = 1; k <= 4; k++)
{
for(m = 1; m <= 4; m++)
{
if( i != j && i != k && i != m && j != k && j != m && k != m)
{
total++;
printf("%d %d %d %d\n",i,j,k,m);
}
}
}
}
}
printf("total=%d\n",total);
}
//猴子
int fun_2(int day)
{
if(day == 10)
return 1;
else
return (fun_2(day+1)+1)*2;
}
int main()
{
printf("%d\n",fun_2(1));
return 0;
}
第三个看不懂

相似回答