首页 > 代码库 > C语言课堂题集

C语言课堂题集

1.输入一个整数,然后将其数字位置颠倒。

 int c,d=0,e;    scanf("%d",&c);    while (c!=0)    {   e=c%10;        d=d*10+e;        c/=10;    }    printf("%d",d);

 

2.求n!

 

int n,i=1;    long m=1;    scanf("%d",&n);    for (;i<=n;i++)    {        m*=i;    }    printf("%ld",m);

 

3.输入一个字母,根据字母决定金字塔的高度。

 char c,b;    int i,j;    scanf("%c",&c);    if (‘a‘<=c&&c<=‘z‘)        b=‘a‘;    else if (‘A‘<=c&&c<=‘Z‘)        b=‘A‘;    else         return 0;    for (i=b; i<=c; i++)    {        for (j=0; j<c-i; j++)        {            printf(" ");        }        for (j=b; j<=i; j++)        {            printf("%c",j);        }        for (j=i-1;j>=b; j--)        {            printf("%c",j);        }printf("\n");    }    return 0;

  

4.从2到100输入,找出其中所有素数,每十个一行输出。

int n,k ,j,i=0,a;    for (n=2; n<=100; n++)    {        k=sqrt(n);        a=1;       for (j=2; j<=k; j++)       {            if (n%j==0)            a=0;       }        if (a)        {printf("%d",n);            i++;        if (i%10==0)            printf("\n");        }    }

5.找出数字组中最大值。

 

char a[10],b;    int j,i;    for (i=0; i<10; i++)    scanf("%c",&a[i]);    b=a[0];    for(j=1;j<10;j++)                    if (a[j]>b)            b=a[j];               printf("%c\n",b);    return 0;

6.从一个字符串中找出所有的数字,并全部输出。

char str[10],digit[10];    char *ps;    int i=0;    gets(str);    ps=str;    while(*ps!=‘\0‘)    {        if(*ps>=‘0‘&&*ps<=‘9‘)        {            digit[i]=*ps;            i++;        }        ps++;    }    digit[i]=‘\0‘;    printf("%s\n",digit);

  

 

C语言课堂题集