期末保命大法3.0 (1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、公约数和最小公倍数

#include

int main()

{

int x, y, z, m, n;

scanf("%d%d", &x, &y);

m = x, n = y;

while (y != 0)

{

z = x%y;

x = y;

y = z;

}

printf("%d %d\n",x,m*n / x);

return 0;

}

2、计算器

#include

int main()

{

int n,i;

double a,b;

char ch;

scanf("%d",&n);

for (i=1;i<=n;i++)

{

scanf("%lf%c%lf",&a,&ch,&b );

switch (ch)

{

case'+':printf("%.2f\n",a+b);break;

case'-

':printf("%.2f\n",a-b);break;

case'*':printf("%.2f\n",a*b);break;

case'/':

if (b==0)

printf("ERROR\n");

else printf("%.2f\n",a/b);break;

}

}

return 0;

}

3、随机出数学题

#include

#include

#include

int math(int a,int b,int c);

int main()

{

int a,b,c,n,i,x;

printf("请输入答案:");

printf("\n");

for(i=1;i<=10;i++)

{

srand(time(NULL));

srand(time(NULL));

srand(time(NULL));

a=rand()%10;

b=rand()%10;

c=rand()%10;

x=math(a,b,c);

scanf("%d",&n);

if(x==n)

printf("RIGHT");

else if(x!=n)

printf("WRONG");

printf("\n");

}

return 0;

}

int math(int a,int b,int c)

{

if(c<5)

{

printf("%d+%d=",a,b);

return a+b;

}

else if(c>=5)

{

printf("%d-%d=",a,b);

return a-b;

}

}

4、三个整数排序

#include

int main()

{

int a,b,c,t;

scanf("%d%d%d",&a,&b,&c);

if (a>b)

{

t=a;a=b;b=t;

}

if(c

{

t=c;c=b;b=a;a=t;

}

else if (c

{

t=b;b=c;c=t;

}

printf("%d %d %d\n",a,b,c);

return 0;

}

5、r进制转换

#include

int main()

{

char a[100]={0};

int x,i,t,j,n,num,r;

scanf("%d%d",&r,&n);

for

(num=1;num<=n;num++)

{

i=0;

scanf("%d",&x);

while (x>0)

{

t=x%r;

if (t<10)

a[i]=t+'0';

else a[i]=t-10+'A';

x/=r;

i++;

}

for (j=i-1;j>=0;j--)

printf("%c",a[j]);

printf("\n");

}

return 0;

}

6、八进制、十六进制;

八进制:Printf(”%o\n”,……);十六进制:%x

7、编写一个程序,求给定句子中的最长单词长度。单词之间用空格隔开,句子用’.’结束

#include

int max(char a[]);

int main()

{

char str[100];

gets(str);

printf("%d\n",max(str)); return 0;

}

int max(char a[])

{

int i=0,maxlen=0,len=0;

while (a[i]!='.')

{

if (a[i]!=' ')

{

len++;

if (maxlen

maxlen=len;

}

else len=0;

i++;

}

return maxlen;

}

8、N个数求平均值和最大值;#include

int main()

{

int N,i,c=0,max,a[10000],j;

double p;

scanf("%d",&N);

for (i=0,j=0;i<=N-1,j<=N-

1;i++,j++) //1334

{

scanf("%d",&a[i]);

c=c+a[i];

p=((double)c)/N;

if (j==0)

{

max=a[0];

}

else if (max

{

max=a[i];

}

}

printf("%d %.1f\n",max,p);

return 0;

}

9、删除一堆数组中值相同的多余元素,

即值相同的元素只保留一个;

#include

#include

int main()

{

char a[100],b[100],i,j,n=1;

scanf("%s",a);

b[0]=a[0];//先把a数组的第一

个字符赋值给b

for(i=1;a[i]!='\0';i++)//从a字

符的第二个字符开始依次判断是否存

在b中

{

for(j=0;j

{

if(a[i]==b[j])

break;

}

if(j==n)//b不存在该字符

加入到b中

{

b[j]=a[i];

n++;

}

}

b[n]='\0';//加入字符串结束标

printf("%s\n",b);

return 0;

}

10、位数很大的数求和;

#include

#include

#define N 30

int main()

{

char szDataX[N],szDataY[N];

int nLenX,nLenY,nInc,i,j;

int

nDataX[N]={0},nDataY[N]={0},nDa

taZ[N]={0};

scanf("%s",szDataX);

scanf("%s",szDataY);

nLenX=strlen(szDataX);

nLenY=strlen(szDataY);

for(i=nLenX-1,j=N-1;i>=0;i-

-,j--)

{

nDataX[j]=szDataX[i]-

'0';

}

for(i=nLenY-1,j=N-1;i>=0;i-

-,j--)

{

nDataY[j]=szDataY[i]-

'0';

}

nInc=0;

for(i=N-1;i>=0;i--)

{

相关文档
最新文档