> 文档中心 > C语言基础编程题目2

C语言基础编程题目2

  1. 辗转相除法求最大公约数
  2. 求a的连续和 a+aa+aaa+…+aaaaaaa(n个)
  3. 求圆的面积 (21年淮南师范专升本)
  4. 矩阵转置(21年淮南师范专升本)
  5. 直接插入(09年合肥师范专升本)
  6. 数组操作 (09年合肥师范专升本)

1辗转相除法求最大公约数

#include #include int main(){    int m=46,n=12,t;    while(n!=0){ t=m%n; m=n; n=t; printf("过程%d %d %d\n",m,n,t);    }    printf("最大公约数%d",m);    return 0;}

2求a的连续和 a+aa+aaa+…+aaaaaaa(n个)

#include #include int main(){    int n=4,a=2;    int t=a;    long sum=0;    for (int i = 0; i < n; i++) { sum=sum+a; a=a*10+t; printf("a= %d \n",a);    }    printf("sum is %ld",sum);    return 0;}

3求圆的面积(21年淮南师范C大题)

#include #include int main(){    double area,r;    printf("请输入圆的半径:");    scanf("%lf",&r);    area=3.14*r*r;    printf("圆的面积为%lf",area);    return 0;}

4 矩阵转置(21年淮南C)

#include #include int main(){    int i,j,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};    int b[4][3];    for ( i = 0; i < 3; i++)  for ( j = 0; j < 4; j++)      b[j][i]=a[i][j]; for ( i = 0; i < 4; i++){  for ( j = 0; j < 3; j++)      printf(" %d ",b[i][j]); printf("\n");    }    return 0;}

5 直接插入 (09年合肥师范专升本)

现有一个已排序(升序)的整数数组,今输入一个数,要求按原排序规律,将此数插入数组中

#include #include int main(){    int a[5]={1,2,4,5};    int n,i;    int len=sizeof(a)/sizeof(a[0]);    printf("请输入一个整数: ");    scanf("%d",&n);    for ( i = 0; i < len-1; i++) { if(a[i]>n)     break;    }    for (int j = len-1; j > i; j--) { a[j]=a[j-1];    }    a[i]=n;    for (int i = 0; i < len; i++) { printf("%d",a[i]);    }    return 0;}

6 数组操作 (09年合肥师范专升本)

输入20个不同的整数,保存到数组a中,在输入一个整数n,如果在数组中存在则,返回数组元素的下标,若不存在则输出“此数不存在”

#include #include int main(){    int a[20];    int i,n,flag=0;    for ( i = 0; i < 20; i++) { scanf("%d",&a[i]);    }    printf("请输入数字n:");    scanf("%d",&n);    for ( i = 0; i < 20; i++) { if(a[i]==n) {     flag=1;     break; }    }    if(flag==1) printf("下标为%d",i);    else printf("没有这个数");    return 0;}