题库——“C”

简介: 题库——“C”


由于小雅兰的C语言程序设计考试的时间实在是越来越近了,那么,这篇博客也就产生了,这篇博客的主要内容是一些C语言程序设计的练习题,现在,就让我们一起进入C语言的世界吧。


1.函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新数,作为函数值返回。例如,从主函数输入一个整数27638496,则函数返回值为26846.

#include<stdio.h>
unsigned long fun(unsigned long n)
{
   unsigned long x=0;
   unsigned long i=0;
   unsigned long s=0;
   int t=0;
   s=n;
   i=1;
   while(s>0)
   {
     t=s%10;
     if(t%2==0)
     {
        x=x+t*i;
        i=i*10;
     }
     s=s/10;
   }
   return x;
}
int main()
{
   unsigned long n=-1;
   while(n>99999999||n<0)
   {
      printf("Please input(0<n<100000000):");
      scanf("%ld",&n);
   }
   printf("\nThe result is:%d\n",fun(n));
}

2.功能:下面的程序是求1!+3!+5!+……+n!的和。

#include<stdio.h>
int main()
{
  long int f=0;
  long int s=0;//求和
  int i=0;
  int j=0;
  int n=0;//输入的数的个数
  scanf("%d",&n); 
  for(i=1;i<=n;i+=2) 
  { 
     f=1;                  
     for(j=1;j<=i;j++)
     {
       f=f*j;
     }
     s=s+f;
  }
  printf("n=%d,s=%ld\n",n,s);
}

3.功能:以下程序是用选择法对10个整数按升序排序

#include<stdio.h>
#define N 10
int main()
{
  int i = 0;
  int j = 0;
  int k = 0;
  int t = 0;
  int a[N] = { 0 };//数组元素为10的一维数组
  for (i = 0; i < N; i++)
  {
    scanf("%d", &a[i]);
  }
  for (i = 0; i < N - 1; i++)
  {
    k = i;
    for (j = i + 1; j < N; j++)
    {
      if (a[j] < a[k])
      {
        k = j;
      }
    }
    if (k!=i)
    {
      t = a[i];
      a[i] = a[k];
      a[k] = t;
    }
  }
  printf("output the sorted array:\n");
  for (i = 0; i < N; i++)
  {
    printf("%5d", a[i]);
  }
  printf("\n");
}

4.功能:求100-999之间的水仙花数

说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。

例如:153=1^3+5^3+3^3)。

#include<stdio.h>
int fun(int n)
{
  int i = 0;
  int j = 0;
  int k = 0;
  int m = 0;
  m = n;
  for (i = 1; i < 4; i++)
  {
    j = m % 10;
    m = (m - j) / 10;
    k = k + j * j * j;
  }
  if (k == n)
    return(1);
  else
    return(0);
}
int main()
{
  int i = 0;
  for (i = 100; i < 1000; i++)
  {
    if (fun(i) == 1)
    {
      printf("%d是水仙花数!\n", i);
    }
  }
}

5.功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。

#include<stdio.h>
int main()
{
  int m = 0;
  int n = 0;
  int k = 0;
  int i = 0;
  for (m = 100; m <= 1000; m++)
  {
    k = 0;
    n = m;
    do
    {
      k = k + n % 10;
      n = n / 10;
    } while (n > 0);
    if (k % 15 == 0)
    {
      printf("%5d", m); 
      i++;
      if (i % 10 == 0)//输出时每10个一行
      {
        printf("\n");
      }
    }
  }
}

6.功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。

#include<conio.h>
#include<stdio.h>
int fun(int k)
{
  int m = 0;
  int mc = 0;//题目要求500以内最大的10个
  while(k >= 2 && mc < 10 )
  {
    if(k % 13 == 0 ||k % 17 == 0 )
    {
      m = m + k;
      mc++;
    }
    k--;
  }
    return m;
}
int main()
{
  printf("%d\n", fun(500));
}

7.题目:计算100-1000之间有多少个数,其各位数字之和是5.

#include<stdio.h>
int main()
{
  int i = 0;
  int s = 0; 
  int k = 0;
  int count = 0;
  for (i = 100; i < 1000; i++)
  {
    s = 0;
    k = i;
    while ( k > 0 )
    {
      s = s + k % 10;
      k = k / 10;
    }
    if (s != 5)
      continue;
    else
    {
      count++;
      printf("%d ", i);
    }
  }
  printf("\n个数为:%d\n", count);
  return 0;
}

8.功能:输入整数a和b,交换a和b后输出。

#include<stdio.h>
int main()
{
  int a = 0;
  int b = 0;
  int temp = 0;
  printf("输入整数a,b:");
  scanf("%d%d",&a,&b);
  temp = a;
  a = b;
  b = temp;
  printf("a=%d,b=%d\n", a, b);
  return 0;
}

10.功能:从键盘输入一个大写字母赋给c1,要求改用小写字母输出。

#include<stdio.h>
int main()
{
  char c1 = 0;
  char c2 = 0;
  c1 = getchar();
  c2 = c1 + 32;
  printf("%c %c", c1, c2);
  return 0;
}

11.题目:以下程序求100~200之内的素数。

#include<stdio.h>
#include<math.h>
void sushu(int m)
{
  int k = 0;
  int i = 0;
  k = (int)sqrt(m);
  for (i = 2; i <= k; i++)
  {
    if (m % i == 0)
    {
      break;
    }
  }
  if (i >= k + 1)
  {
    printf("%4d", m);
  }
}
int main()
{
  int m = 0;
  for (m = 100; m < 200; m++)
  {
    sushu(m);
  }
  return 0;
}

12.题目:下列程序的功能为:输出100以内能被4整除且个位数为8的所有整数;请填写适当的符号或语句,使程序实现其功能。

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  for (i = 0; i < 10 ; i++)
  {
    j = i * 10 + 8;
    if (j % 4 == 0)
    {
      continue;
    }
    printf("%d ", j);
  }
  return 0;
}

13.题目: 以下程序按每行5个数的格式输出1至n范围内能被7或17 整除的整数,并求出其和。


      如输入:50  则输出:


      7       14      17      21      28


      34      35      42      49


      Sum=247

#include<stdio.h>
int main()
{
  int i = 0;
  int n = 0;
  int ct = 0;
  int sum = 0;
  scanf("%d", &n);
  for (i = 1; i <= n; i++)
  {
    if ((i % 7 == 0) || (i % 17 == 0))
    {
      printf("%d\t", i);
      sum += i;
      ct++;
      if (ct % 5 == 0)//每5个输出一行
      {
        printf("\n");
      }
    }
  }
  printf("\nsum=%d\n", sum);
  return 0;
}

14.题目:以下程序的功能是:输出a、b、c三个变量中的最小值。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
  int a = 0;
  int b = 0;
  int c = 0;
  int t1 = 0;
  int t2 = 0;
  scanf("%d %d %d", &a, &b, &c);
  t1 = a < b ? a : b;
  t2 = c < t1 ? c : t1;
  printf("%d\n", t2);
  return 0;
}

15.功能:调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。

#include<stdio.h>
int fun(int n)
{
  int m = 0;
  int f = 1;
  int i = 0;
  for (i = 1; i <= n ; i++)
  {
    m += f * i;
    f = -f;
  }
  return m;
}
int main()
{
  printf("m=%d\n", fun(10));
}

16.功能:将一个数组中的元素按逆序存放。

#include<stdio.h>
#define N 7
int main()
{
  static int a[N] = { 12,9,16,5,7,2,1 };
  int k = 0;
  int s = 0;
  printf("\n 原来的数组为:\n");
  for(k = 0; k < N; k++)
  {
    printf("%4d", a[k]);
  }
  for(k = 0; k < N / 2; k++ )
  {
    s = a[k];
    a[k] = a[N - k - 1];
    a[N - k - 1] = s;
  }
  printf("\n 逆序的数组为:\n");
  for (k = 0; k < N; k++)
  {
    printf("%4d", a[k]);
  }
  return 0;
}

17.求一个二维数组中每行的最大值和每行的和。

#include<stdio.h>
int main()
{
  int a[5][5];
  int b[5];
  int c[5];
  int i = 0;
  int j = 0;
  int k = 0;
  int s = 0;
  for (i = 0; i < 5; i++)
  {
    for (j = 0; j < 5; j++)
    {
      scanf("%d", &a[i][j]);
    }
  }
  for (i = 0; i < 5; i++)
  {
    k = a[i][0];
    s = 0;
    for (j = 0; j < 5; j++)
    {
      if (k < a[i][j])
      {
        k = a[i][j];
      }
      s = s + a[i][j];
    }
    b[i] = k;
    c[i] = s;
  }
  for (i = 0; i < 5; i++)
  {
    for (j = 0; j < 5; j++)
    {
      printf("%5d", a[i][j]);
    }
    printf("%5d %5d", b[i], c[i]);
    printf("\n");
  }
  return 0;
}

18.功能:统计一个字符串中的字母、数字、空格和其它字符的个数。

#include<stdio.h>
void fun(char s[], int b[])
{
  int i = 0;
  for(i = 0; s[i] != '\0'; i++)
  {
    if('a' <= s[i] && s[i] <= 'z' || 'A' <= s[i] && s[i] <= 'Z')
    {
      b[0]++;
    }
    else if ('0' <= s[i] && s[i] <= '9')
    {
      b[1]++;
    }
    else if(s[i] == ' ')
    {
      b[2]++;
    }
    else
    {
      b[3]++;
    }
  }
}
int main()
{
  char s1[80]; 
  int a[4] = { 0 };
  int k = 0;
  gets(s1);
  fun(s1, a);
  puts(s1);
  for (k = 0; k < 4; k++)
  {
    printf("%4d", a[k]);
  }
}

19.说明:下面程序的功能是将一个字符串str的内容颠倒过来。。

#include<stdio.h>
#include<string.h>
int main()
{
  int i = 0;
  int j = 0;
  int k = 0;
  char str[] = "1234567";
  for (i = 0, j = strlen(str); i < j; i++, j--)
  {
    k = str[i];
    str[i] = str[j - 1];
    str[j - 1] = k;
  }
  puts(str);
}

20.说明:下面程序的功能是输出数组s中最大值元素的下标。

#include<stdio.h>
int main()
{
  int k = 0;
  int p = 0;
  int s[] = { 1,9,7,2,10,3 };
  for (p = 0, k = p; p < 6; p++)
  {
    if (s[p] > s[k])
    {
      k = p;
    }
  }
  printf("%d\n", k);
}

21.功能:编写程序,输出 1000 以内的所有完数及其因子。

说明:所谓完数是指一个整数的值等于它的因子之和。

例如“ 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是一个完数。

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  int m = 0;
  int s = 0;
  int k = 0;
  int a[100];
  for (i = 1; i<=1000; i++)
  {
    m = i;
    s = 0;
    k = 0;
    for (j = 1; j < m; j++)
    {
      if (m % j == 0)
      {
        s = s + j;
        a[k++] = j;
      }
    }
    if (s != 0 && s == m)
    {
      for (j = 0; j < k; j++)
      {
        printf("%4d", a[j]);
      }
      printf("  =%4d\n", i);
    }
  }
}

22.功能:输出Fibonacci数列的前15项,要求每行输出5项。Fibonacci数列:1,1,2,3,5,8,13...........

#include<stdio.h>
int main()
{
  int fib[15];
  int i;
  fib[0] = 1;
  fib[1] = 1;
  for (i = 2; i < 15; i++)
  {
    fib[i] = fib[i - 1] + fib[i - 2];
  }
  for (i = 0; i < 15; i++)
  {
    printf("%d\t", fib[i]);
    if (i % 5 == 4)
    {
      printf("\n");
    }
  }
}

23.题目:求出1~1000以内前20个不能被2,3,5,7整除的数之和。

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  int a[20];
  int sum = 0;// 前20个不能被2, 3, 5, 7整除的数保存在a数组中,它们的和保存在sum中。
  for (i = 0; i < 1000; i++)
  {
    if ((i % 2 != 0) && (i % 3 != 0) && (i % 5 != 0) && (i % 7 != 0))
    {
      a[j++] = i;
    }
    if (j > 19)
      break;
  }
  for (i = 0; i < 20; i++)
  {
    sum += a[i];
  }
  printf("和为:%d\n", sum);
}

24.题目:求出1~5000以内前5个能被3,5,11整除的数之和。

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  int a[5];
  int sum = 0; //前5个能被3,5,11整除的数保存在a数组中,它们的和保存在sum中。
  for (i = 1; i < 5000; i++)
  {
    if ((i % 3 == 0) && (i % 5 == 0) && (i % 11 == 0))
    {
      a[j++] = i;
    }
    if (j > 4)
      break;
  }
  for (i = 0; i < 5; i++)
  {
    sum += a[i];
  }
  printf("和为:%d\n", sum);
}

25.题目:求出1~1000以内前5个能被3,5,11整除的数之和。

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  int a[5];
  int sum = 0; //前5个能被3,5,11整除的数保存在a数组中,它们的和保存在sum中。
  for (i = 1; i < 1000; i++)
  {
    if ((i % 3 == 0) && (i % 5 == 0) && (i % 11 == 0))
    {
      a[j++] = i;
    }
    if (j > 4) 
      break;
  }
  for (i = 0; i < 5; i++)
  {
    sum += a[i];
  }
  printf("和为:%d\n", sum);
}

26.题目:求出1~1000以内前5个能被2,3,5整除但不能被11整除的数之和。

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  int a[5];
  int sum = 0; //前5个能被2,3,5整除但不能被11整除的数保存在a数组中,它们的和保存在sum中。
  for (i = 1; i < 1000; i++)
  {
    if ((i % 2 == 0) && (i % 3 == 0) && (i % 5 == 0) && (i % 11 != 0))
    {
      a[j++] = i;
    }
    if (j > 4)
      break;
  }
  for (i = 0; i < 5; i++)
  {
    sum += a[i];
  }
    printf("和为:%d\n", sum);
}

27.题目:用循环编写程序求1-3+5-7+-99+101的值

#include<stdio.h>
int main()
{
  int i=0;
  int s = 0;
  int f = 1;//i定义为循环变量,s为1-3+5-7+…-99+101的值
  for (i = 1; i <= 101; i += 2)
  {
    s = s + i * f;
    f = -f;
  }
  printf("%d", s);
}

28.题目:写程序从键盘输入一个整数n,用循环求1+4+9+16+……+n*n的值

#include<stdio.h>
int main()
{
  int i = 0;
  int s = 0;
  int n = 0;//i定义为循环变量,s为1+4+9+16+……+n*n的值
  scanf("%d", &n);
  for (i = 1; i <= n; i++)
  {
    s = s + i * i;
  }
  printf("%d", s);
    return 0;
}

29.功能:编写函数fun1!+2!+3!+ …… +n!的和,main数中给n赋值,并输出运算结果。请编写fun函数。

例如:若n值为5,则结果为153

#include<stdio.h>
long int fun(int n)
{
  int i = 0;
  long int f = 1;
  int s = 0;
  for (i = 1; i <= n; i++)
  {
    f = f * i;
    s = s + f;
  }
  return s;
}
int main()
{
  int n = 0;
  long int result = 0;
  n = 5;
  result = fun(n);
  printf("%ld\n", result);
    return 0;
}

30.功能:编写函数fun1*2+2*3+3*4+ …… +n*(n+1)的和,main数中由键盘输入n值,并输出运算结果。请编写fun函数。

#include<stdio.h>
long int fun(int n)
{
  int i = 0;
  long int s = 0;
  for (i = 1; i <= n; i++)
  {
    s = s + i * (i + 1);
  }
  return s;
}
int main()
{
  int n = 0;
  long int result = 0;
  n = 12;
  result = fun(n);
  printf("%ld\n", result);
  return 0;
}

31.功能:功能:编写函数fun1/2-2/3+3/4- …… +99/100的和,main数中调用fun函数送入参数值100,并输出运算结果。请编写fun函数。

#include<stdio.h>
float fun(int n)
{
  int i = 0;
  float f = 1;
  float s = 0;
  for (i = 1; i <= 99; i++)
  {
    s = s + f * i / (i + 1);
    f = -f;
  }
  return s;
}
int main()
{
  int n = 0;
  float result=0.00;
  result = fun(100);
  printf("%.2f\n", result);
  return 0;
}

32.题目:试编写程序,用循环从键盘输入某门课5名学生的成绩,并求出这5个学生成绩的平均分avg

#include <stdio.h>
int main()
{
  float a[5];
  int avg = 0;
  int i = 0;
  int j = 0;
  printf("请输入5名学生的成绩\n");
  for (i = 0; i < 5; i++)
  {
    scanf("%f", &a[i]);
    avg = avg + a[i];
  }
  avg = avg / 5;
  printf("平均分=%f\n", avg);
    return 0;
}

33.题目:试编写程序,用循环从键盘输入某门课5名学生的成绩,并求出这5个学生成绩的最高分max

#include <stdio.h>
int main()
{
  float a[5];
  float max;
  int i = 0;
  int j = 0;
  printf("请输入5名学生的成绩\n");
  for (i = 0; i < 5; i++)
  {
    scanf("%f", &a[i]);
  }
  max = a[0];
  for (i = 1; i < 5; i++)
  {
    if (a[i] > max)
    {
      max = a[i];
    }
  }
  printf("最高分=%f\n", max);
  return 0;
}

34.题目:试编写程序,用循环从键盘输入某门课5名学生的成绩,并求出这5个学生成绩的最低分min

#include <stdio.h>
int main()
{
  float a[5];
  int min = 0;
  int i = 0;
  printf("请输入5名学生的成绩\n");
  for (i = 0; i < 5; i++)
  {
    scanf("%f", &a[i]);
  }
  min = a[0];
  for (i = 1; i < 5; i++)
  {
    if (a[i] < min)
    {
      min = a[i];
    }
  }
  printf("最低分=%f\n", min);
  return 0;
}

35.题目:试编写程序,用循环从键盘输入某门课5名学生的成绩,并求出这5个学生中成绩在60以上(含60)的人数count

#include <stdio.h>
int main()
{
  float a[5];
  int i = 0;
  int count = 0;
  printf("请输入5名学生的成绩\n");
  for (i = 0; i < 5; i++)
  {
    scanf("%f", &a[i]);
    if (a[i] >= 60)
      count++;
  }
  printf("分数在60以上的人数有%d人\n", count);
  return 0;
}

36.题目:试编写程序,用循环从键盘输入某门课5名学生的成绩,并求出这5个学生中成绩在60以下(不含60)的人数count

#include <stdio.h>
int main()
{
  float a[5];
  int i = 0;
  int count = 0;
  printf("请输入5名学生的成绩\n");
  for (i = 0; i < 5; i++)
  {
    scanf("%f", &a[i]);
    if (a[i] < 60)
      count++;
  }
  printf("分数在60以下的人数有%d人\n", count);
  return 0;
}

37.题目:编写函数对数组中的10个整数进行排序。

#include<stdio.h>
//fun函数功能:对数组中的n个整数进行排序
void fun(int a[], int n)
{
  int i = 0;
  int j = 0;
  int t = 0;
  for (i = 0; i < n - 1; i++)
  {
    for (j = 0; j < n - i - 1; j++)
        {
      if (a[j] > a[j + 1])
      {
        t = a[j];
        a[j] = a[j + 1];
        a[j + 1] = t;
      }
        }
  }
}
int main()
{
  int a[10];
  int i = 0;
  printf("请输入10个整数");
  for (i = 0; i < 10; i++)
  {
    scanf("%d", &a[i]);
  }
  fun(a, 10);
  printf("排序后的数组为:");
  for (i = 0; i < 10; i++)
  {
    printf("%d,", a[i]);
  }
  putchar('\n');
  return 0;
}

38.题目:编写函数对数组中的n个整数进行逆序排列。

#include<stdio.h>
//fun函数功能:对数组中的n个整数进行排序
void fun(int a[], int n)
{
  int i = 0;
  int j = 0;
  int t = 0;
  for (i = 0; i < n - 1; i++)
  {
    for (j = 0; j < n - i - 1; j++)
    {
      if (a[j] < a[j + 1])
      {
        t = a[j];
        a[j] = a[j + 1];
        a[j + 1] = t;
      }
    }
  }
}
void main()
{
  int a[10];
  int i = 0;
  printf("请输入10个整数");
  for (i = 0; i < 10; i++)
  {
    scanf("%d", &a[i]);
  }
  fun(a, 10);
  printf("排序后的数组为:");
  for (i = 0; i < 10; i++)
  {
    printf("%d,", a[i]);
  }
  putchar('\n');
  return 0;
}

39.题目:编写函数对n个职工的工资进行排序。

#include<stdio.h>
//fun函数功能:对数组中的n个浮点型数进行排序
void fun(float a[], int n)
{
  int i = 0;
  int j = 0;
  float t;
  for (i = 0; i < n - 1; i++)
  {
    for (j = 0; j < n - i - 1; j++)
    {
      if (a[j] > a[j + 1])
      {
        t = a[j];
        a[j] = a[j + 1];
        a[j + 1] = t;
      }
    }
  }
}
int main()
{
  float a[10];
  int i;
  printf("请输入10个职工的工资");
  for (i = 0; i < 10; i++)
  {
    scanf("%f", &a[i]);
  }
  fun(a, 10);
  printf("排序后的工资为:");
  for (i = 0; i < 10; i++)
  {
    printf("%f,", a[i]);
  }
  putchar('\n');
  return 0;
}

40.题目:编写函数对字符串中n个字符按照ASCII码值排序。

#include<stdio.h>
#include<string.h>
//fun函数功能:对字符串中的字符进行排序
void fun(char a[])
{
  int i = 0;
  int j = 0;
  int n = strlen(a);
  char t;
  for (i = 0; i < n - 1; i++)
  {
    for (j = 0; j < n - i - 1; j++)
    {
      if (a[j] > a[j + 1])
      {
        t = a[j];
        a[j] = a[j + 1];
        a[j + 1] = t;
      }
    }
  }
}
int main()
{
  char a[20];
  int i;
  printf("请输入一个字符串");
  gets(a);
  fun(a);
  printf("排序后的字符串为:");
  puts(a);
  return 0;
}

41.题目:编写函数对字符串中n个字符按照ASCII码值逆序排列。

#include<stdio.h>
#include<string.h>
//fun函数功能:对字符串中的字符进行逆序排列
void fun(char a[])
{
  int i = 0;
  int j = 0;
  int n = strlen(a);
  char t;
  for (i = 0; i < n - 1; i++)
  {
    for (j = 0; j < n - i - 1; j++)
    {
      if (a[j] < a[j + 1])
      {
        t = a[j];
        a[j] = a[j + 1];
        a[j + 1] = t;
      }
    }
  }
}
int main()
{
  char a[20];
  int i;
  printf("请输入一个字符串");
  gets(a);
  fun(a);
  printf("排序后的字符串为:");
  puts(a);
  return 0;
}

42.给出年、月、日,计算该日是该年的第几天

#include<stdio.h>
int main()
{
  int sum_day(int month, int day);
  int leap(int year);
  int year, month, day, days;
  printf("input date(year,month,day):");
  scanf("%d,%d,%d", &year, &month, &day);
  printf("%d/%d/%d ", year, month, day);
  days = sum_day(month, day);/* 调用函数sum_day */
  if (leap(year) && month >= 3)/* 调用函数leap */
    days = days + 1;
  printf("is the %dth day in this year.\n", days);
  return 0;
}
int sum_day(int month, int day)/* 函数sum_day:计算日期 */
{
  int day_tab[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
  int i;
  for(i = 1; i < month; i++)
    day += day_tab[i];/* 累加所在月之前天数 */
  return(day);
}
int leap(int year)/* 函数leap:判断是否为闰年 */
{
  int leap;
  leap = year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
  return(leap);
}

43.求一个3*3的整型矩阵对角线元素之和。

#include<stdio.h>
int main()
{
  int a[3][3];
  int i = 0;
  int j = 0;
  int s = 0;
  for (i = 0; i <= 2; i++)
  {
    for (j = 0; j <= 2; j++)
    {
      scanf("%d", &a[i][j]);
      if ((i == j) || (i + j == 2))
      {
        s = s + a[i][j];
      }
    }
  }
  printf("%d\n", s);
  return 0;
}

44.有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  int upp = 0;
  int low = 0;
  int dig = 0;
  int spa = 0;
  int oth = 0;
  char text[3][80];
  for (i = 0; i < 3; i++)
  {
    printf("please input line %d:\n", i + 1);
    gets(text[i]);
    for (j = 0; j < 80 && text[i][j] != '\0'; j++)
    {
      if (text[i][j] >= 'A' && text[i][j] <= 'Z')
        upp++;
      else if (text[i][j] >= 'a' && text[i][j] <= 'z')
        low++;
      else if (text[i][j] >= '0' && text[i][j] <= '9')
        dig++;
      else if (text[i][j] == ' ')
        spa++;
      else
        oth++;
    }
  }
  printf("\nupper case: %d\n", upp);
  printf("lower case: %d\n", low);
  printf("digit case: %d\n", dig);
  printf("space case: %d\n", spa);
  printf("other case: %d\n", oth);
  return 0;
}

好啦,小雅兰的C语言题库就到这里了,考试加油呀!!!

15cb5c8ded8d48a08a4b3ccf8898046e.jpg

相关文章
|
5月前
|
存储 算法 Java
JAVA后端开发面试题库
JAVA后端开发面试题库
66 1
|
5月前
|
网络协议 安全 测试技术
360培训题库9-13
360培训题库9-13
|
缓存 前端开发 JavaScript
前端面试基础题库——1
前端面试基础题库——1
163 0
【Leetcode】题库-爽刷简单题(1)
【Leetcode】题库-爽刷简单题(1)
81 0
|
6月前
|
设计模式 前端开发 JavaScript
前端 面试题库
前端 面试题库
117 0
|
缓存 JavaScript 前端开发
前端面试基础题库——5
前端面试基础题库——5
|
前端开发 JavaScript 安全
前端面试基础题库——4
前端面试基础题库——4
|
缓存 JSON JavaScript
前端面试基础题库——3
前端面试基础题库——3
|
Web App开发 负载均衡 前端开发
前端面试基础题库——7
前端面试基础题库——7
108 0
|
缓存 前端开发 JavaScript
前端面试基础题库——2
前端面试基础题库——2