程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 一些筆試的代碼

一些筆試的代碼

編輯:C++入門知識

1、非遞歸求最小公倍數和最大公約數

#include<stdio.h>

void main()
{
int a,b,num1,num2,temp;
printf("please input num1 and num2 \n");
scanf("%d%d",&num1,&num2);
if(num1 > num2)
{
a = num1;
b = num2;
}
else
{
a = num2;
b = num1;
}


while(b > 0)
{
temp = a % b;
a = b;
b = temp;
}
printf("最大公約數是%d\n最小公倍數是%d\n",a,(num1 * num2) / a);

}

 


2、遞歸求最大公約數

//用遞歸求最大公約數
#include<stdio.h>
int gcd(int m,int n);
int main()
{
  int m,n;
 printf("Input m,n:\n");
  scanf("%d%d",&m,&n);
  printf("%d\n",gcd(m,n));
}
int gcd(int m,int n)
{
 if(m>n)//大於和小於只要"<"或">"就夠了,不需要兩個
  return gcd(m-n,n);
  else if(m<n)
  return gcd(m,n-m);
 else if(m==n)
  return m;
}

 

 

3、字符串單詞倒置題

//字符串單詞倒置題I am a program倒置後program a am I
#include<stdio.h>
#define size 100
int Strlen(char *ch1)
{
  int i=0;
  for(i=0;ch1[i]!='\0';i++);
  return i;
}
main()
{
char ch1[size]="I am a program",ch2[size],a[20];
int i,j,k=0;
for(i=Strlen(ch1)-1;i>=0;i--)
{
if(ch1[i]!=' ')
{
j=0;
do
a[j++]=ch1[i--];
while(ch1[i]!=' '&&i>=0);
a[j]=' ';
for(j=j;j>=0;j--,k++)
ch2[k]=a[j];
i++;
}
}
ch2[k]='\0';
printf("%s",ch2);
getchar();
}


4、判斷低地址還是高地址優先

#include<stdlib.h>
#include<stdio.h>
void main()
{
    int a=10;
    short b;
    memcpy(&b,&a,2);
    printf("%d\n",b);


}

 


5、字符串翻轉

#include <stdio.h>
#include <string.h>
void rotate(char *start, char *end)
{
    while(start != NULL && end !=NULL && start<end)
    {
        char temp=*start;
        *start=*end;
        *end=temp;
        start++;
        end--;
    }
}


void leftrotate(char *p,int m)
{
    if(p==NULL)
        return ;
    int len=strlen(p);
    if(m>0&&m<=len)
    {
        char *xfirst,*xend;
        char *yfirst,*yend;
        xfirst=p;
        xend=p+m-1;
        yfirst=p+m;
        yend=p+len-1;
        rotate(xfirst,xend);
        rotate(yfirst,yend);
        rotate(p,p+len-1);
    }
}

int main(void)
{
    char str[]="abcdefghij";
    leftrotate(str,3);
    printf("%s\n",str);
    return 0;
}

 

 

6、判斷系統大端小端存儲

#include<stdio.h>
union s{
int i;
char ch;
}c;
int check()
{
c.i=1;
return (c.ch);
}
void main()
{
if (check())
{
printf("little\n");
}
else
printf("big\n");
}


分享到:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved