考点导航
  • /*----------------------------------------------------------------------
    编程:给定一个字符串,将其中所有的小写字母转换成大写字母。
    要求:使用while和*p遍历数组。
    ----------------------------------------------------------------------*/
    #include<stdio.h>
    int main()
    {
    char ch[100];
    char* p;
    p=ch;
    gets(ch);
    /**********Program**********/





    /********** End **********/
    printf("%s",ch);
    return 0;
    }
  • /*----------------------------------------------------------------------
    编程:输入一句英语句子,把每个单词的第一位改成大写,其他单词改为小写后输出。
    ----------------------------------------------------------------------*/
    #include"stdio.h"
    #include"string.h"
    int main()
    {
    int i,j,t=1;
    char a[1000];
    gets(a);
    /**********Program**********/





    /********** End **********/
    puts(a);
    return 0;
    }
  • /*----------------------------------------------------------------------
    编程:实现大小写字母互相转换。
    要求:输入任一字符,若是大写字母,则将其转换成小写字母;若是小写字母,则将其转换为大写字母;若是其它字符,则保持不变。
    ----------------------------------------------------------------------*/
    #include<stdio.h>
    int main()
    {
    char c;
    c=getchar();
    /**********Program**********/



    /********** End **********/
    printf("%c\n",c);
    }
  • /*------------------------------------------------
    编程:输入一个字符,若是大写字母,则将它转换成小写字母,否则,不转换。
    要求:输出转换后的字符。输出字符后换行。
    ----------------------------------------------------------------------*/
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    char ch; /*用ch存储从键盘输入的一个字符*/
    scanf("%c",&ch);
    /**********Program**********/



    /********** End **********/
    return 0;
    }
  • /*-------------------------------------------------------
    编程:找出数组的最大数、最小数以及二者的差。(要求使用指针引用数组元素)
    --------------------------------------------------------*/
    #include <stdio.h>
    #define N 6
    void fun(int a[N],int *p1,int *p2)
    {
    int i=0;
    *p1=*p2=a[0];
    for (i=0;i<N;i++)
    {
    /**********Program**********/


    /********** End **********/
    }
    }

    void main()
    {
    int i=0,max,min;
    int a[N];
    for (i=0;i<N;i++)
    {
    scanf("%d",&a[i]);
    }
    fun(a,&max,&min);
    printf("最大数:%d\n最小数:%d\n差距:%d\n",max,min,max-min);
    }
  • /*-------------------------------------------------------
    编程:输入10个数,求出其平均值。
    输入:11 22 33 44 55 66 77 88 99 28
    输出:52.30
    -------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    float average(float *p);
    float score[10],av,*sp;
    int i;
    sp=score;
    for (i=0;i<10;i++)
    {
    scanf("%f",&score[i]);
    }
    av=average(sp);
    printf("%.2f\n",av);
    }

    float average(float *p)
    {
    int i;
    float av,s=0;//av代表平均值;s代表和
    /**********Program**********/



    /********** End **********/
    return av;
    }
  • /*-------------------------------------------------------
    编程:输出整型数组str的10个元素(采用"*p"形式访问数组元素)。
    输入:1 2 3 4 5 6 7 8 9 0
    输出:1,2,3,4,5,6,7,8,9,0,
    -------------------------------------------------------*/
    #include <stdio.h>
    int main()
    {
    int i,str[10],*p;
    p=str;
    for (i=0;i<10;i++)
    {
    scanf("%d",p+i);
    }
    /**********Program**********/



    /********** End **********/
    }
  • /*-------------------------------------------------------
    编程:输出整型数组str的10个元素(采用"*(p+i)"形式访问数组元素)。
    输入:1 2 3 4 5 6 7 8 9 0
    输出:1,2,3,4,5,6,7,8,9,0,
    -------------------------------------------------------*/
    #include <stdio.h>
    int main()
    {
    int i,str[10],*p;
    p=str;
    for (i=0;i<10;i++)
    {
    scanf("%d",p+i);
    }
    /**********Program**********/



    /********** End **********/
    }
  • /*-------------------------------------------------------
    编写函数fun,将一个十进制整数转换为八进制后反序再转成新的十进制后输出。
    例如:50>62>26>22。
    -------------------------------------------------------*/
    #include <stdio.h>
    int fun(int n);
    void main()
    {
    int n;
    scanf("%d",&n);
    printf("%d\n",fun(n));
    }

    /**********Program**********/





    /********** End **********/
  • /*------------------------------------------------------------------
    编程:将十进制数N转成X(X可取2、3、4、5、6、7、8、9)进制数。
    举例:输入:25 8,输出:31
    ------------------------------------------------------------------*/
    #include <stdio.h>
    void main(){
    int n,x;//n是一个十进制数,x表示目标进制
    int a[100],count=0;//数组a用于存放余数
    scanf("%d%d",&n,&x);
    /**********Program**********/



    /********** End **********/
    for (int i=count-1;i>=0;i--)
    printf("%d",a[i]);
    }
  • /*------------------------------------------------------------------
    编程:将X(X可取2、3、4、5、6、7、8、9)进制数N转成十进制数。
    举例:输入:25 7,输出:19
    ------------------------------------------------------------------*/
    #include <stdio.h>
    void main(){
    int n,x;//n是一个x进制数
    int s=0,t=1;
    scanf("%d%d",&n,&x);
    /**********Program**********/



    /********** End **********/
    printf("%d",s);
    }
  • /*------------------------------------------------------------------
    编程:求出区间[a,b]中所有整数的质因数分解。
    举例:
    输入:3 10
    输出:
    3=3
    4=2*2
    5=5
    6=2*3
    7=7
    8=2*2*2
    9=3*3
    10=2*5
    ------------------------------------------------------------------*/
    #include <stdio.h>
    int main()
    {
    int a,b,n,i,j;
    scanf("%d%d",&a,&b);
    for (i=a;i<=b;i++)
    {
    n=i;
    printf("%d=",n);
    /**********Program**********/





    /********** End **********/
    }
    return 0;
    }
  • /*-------------------------------------------------------
    编写函数fun,求某个数的亲密数。然后调用该函数,输出1~n之间的亲密数对。
    定义:如果a的所有正因子之和等于b,b的所有正因子之和等于a,因子包括1但不包括本身,且a不等于b,则称a,b为亲密数对。
    输入:10000
    输出:
    220,284
    1184,1210
    2620,2924
    5020,5564
    6232,6368
    ------------------------------------------------------------------*/
    #include<stdio.h>
    int fun(int n)
    {
    int i,sum1=0,sum2=0;
    /**********Program**********/





    /********** End **********/
    }

    int main()
    {
    int i,j,n;
    scanf("%d",&n);
    for (i=1;i<n;i++)
    {
    j=fun(i);
    if (j&&i<j)
    printf("%d,%d\n",i,j);
    }
    }
  • /*-------------------------------------------------------
    编程:求解亲密数对问题。输入一个上限n,输出n以内的所有亲密数对。
    定义:如果a的所有正因子之和等于b,b的所有正因子之和等于a,因子包括1但不包括本身,且a不等于b,则称a,b为亲密数对。
    输入:10000
    输出:
    220,284
    1184,1210
    2620,2924
    5020,5564
    6232,6368
    ------------------------------------------------------------------*/
    #include<stdio.h>
    int main()
    {
    int i,j,n,sum1,sum2;
    scanf("%d",&n);
    for (i=1;i<n;i++)
    {
    sum1=0;
    sum2=0;
    /**********Program**********/





    /********** End **********/
    }
    }
  • /*-------------------------------------------------------
    编写函数fun,实现分解质因数。(注:使用while循环)
    输入:200,输出:200=2*2*2*5*5
    -------------------------------------------------------*/
    #include <stdio.h>
    void fun(int m);
    void main()
    {
    int n;
    scanf("%d",&n);
    fun(n);
    }
    void fun(int m)
    {
    int i=2;
    printf("%d=",m);
    /**********Program**********/





    /********** End **********/
    printf("%d\n",m);
    }
  • /*-------------------------------------------------------
    编程:将一个正整数分解质因数。
    例如:输入90,输出90=2*3*3*5。
    ------------------------------------------------------------------*/
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int i,n;
    scanf("%d",&n);
    printf("%d=",n);
    for (i=2;i<=n;i++)
    {
    /**********Program**********/





    /********** End **********/
    }
    printf("%d\n",n);
    return 0;
    }
  • /*-------------------------------------------------------
    编程:求1000以内所有的完数并输出。
    如果一个数恰好等于除它本身外的所有因子之和,则这个数就称为完数。
    例如:6的因子是1、2、3,且6=1+2+3,所以6是完数。
    ------------------------------------------------------------------*/
    #include<stdio.h>
    int main()
    {
    int i,j,s;/*s用于记录因子之和*/
    for (i=2; i<=1000; i++)
    {
    /**********Program**********/





    /********** End **********/
    if (s==i)
    printf("%d,",i);
    }
    return 0;
    }
  • /*-------------------------------------------------------
    编程:用选择法按升序对a数组中的数进行排序。(运用指针)
    输入:46 17 9 32 88 76 19 29 37 64
    输出:9 17 19 29 32 37 46 64 76 88
    -------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int a[10],i,j,k,t;
    for (i=0;i<10;i++)
    scanf("%d",a+i);
    for (i=0;i<9;i++)
    {
    k=i;
    for (j=i+1;j<10;j++)
    if (*(a+j)<*(a+k)){
    k=j;
    }
    /**********Program**********/





    /********** End **********/
    }
    for (i=0;i<10;i++)
    printf("%d ",*(a+i));
    }
  • /*-------------------------------------------------------
    编写函数fun,采用冒泡法对数组a进行由小到大的排序。
    ---------------------------------------------------------------------*/
    #include "stdio.h"
    /**********Program**********/





    /********** End **********/
    main()
    {
    int i,a[9]={15,8,5,12,3,6,10,7,20};
    fun(a,9);
    for (i=0;i<9;i++)
    printf("%5d",a[i]);
    }
  • /*-------------------------------------------------------
    编写函数fun,通过函数的递归调用,求解“台阶问题”。
    有n级台阶,一步可以上一级台阶,也可以一步上两级台阶,问上完n级台阶,有多少种走法?
    -------------------------------------------------------*/
    #include <stdio.h>
    int fun(int m);
    main()
    {
    int n;
    printf("请输入台阶的级数:");
    scanf("%d",&n);
    printf("走完%d级台阶有%d种走法\n",n,fun(n));
    }
    /**********Program**********/





    /********** End **********/