男主狐妖动画:C语言高手速来!救救我啊

来源:百度文库 编辑:高校问答 时间:2024/05/10 08:05:31
刚学C语言,好多题目做不来
希望高手指教!!
不胜感激~~
1,求任意一个整数N的标准分解式,即表示数因子之和

列如:24=2*2*2*3

2,打印下列图形

1 3 1

1 3 5 3 1

1 3 5 7 5 3 1

1 3 5 7 9 7 5 3 1

3,数字十进制转化

编写一个将十进制整数转化为十六进制字符串的函数和一个将十六进制转化为十进制的函数。列如,输入162转化为A2

/*1*/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int getS(int s[])/*生成素数*/
{
int i=0,n,k,flag;
s[i++]=2;
for(n=3;n<32765;n+=2)
{
flag=1;
for(k=2;k<=sqrt(n)&&flag;k++)
if(n%k==0) flag=0;
if(flag)
s[i++]=n;
}
return i;
}
void main()
{
int n=0,i=0,input,t,k=0;
int s[3514];
int mul[20]={0};
n=getS(s);

/* t=input=24;*/
printf("please input a int number:");
scanf("%d",&input);
t=input;

for(i=0;i<n&&s[i]<=input;i++)
while(t%s[i]==0){mul[k++]=s[i];t/=s[i];}

printf("%d=%d",input,mul[0]);
for(i=1;i<k;i++)
printf(" * %d",mul[i]);
printf("\n");
}
/* 2 */
#include <stdio.h>

void main()
{
int n,i,j;
for(n=3;n<10;n+=2)
{
for(i=1;i<=n;i+=2)
printf("%d ",i);
for(j=n-2;j>0;j-=2)
printf("%d ",j);
printf("\n");
}
}
/*3*/

#include <stdio.h>
#include <stdlib.h>

void main()
{
char Num16 [20]={""},Num10[20]={""};
int N10,t,i=0;
printf("please input a int number:");
gets(Num10);
N10=atoi(Num10);

do
{
t=N10%16;
N10/=16;
if(t<10)
Num16[i++]=t+'0';
else
Num16[i++]=t+'A'-10;
}while(N10>0);
printf("==>");

/*输出结果16进制*/
for(t=i;t>=0;t--)
putchar(Num16[t]);
puts("\n");
}

#include <stdio.h>
void main()
{
char Num16 [20]={""};
int t=0,i=0;
printf("please input a int 16 number:");
gets(Num16);
while(Num16[i]!='\0')
{
if(Num16[i]>='0'&&Num16[i]<='9')
t=t*16 + (Num16[i]-'0');
else
if(Num16[i]>='A'&&Num16[i]<='F')
t=t*16 + (Num16[i]-'A'+10);
else
t=t*16 + (Num16[i]-'a'+10);
i++;
}
puts(Num16);
/*/输出结果10进制*/
printf("==>%d\n",t);
}