题库——“C”

news2024/12/23 14:36:52

由于小雅兰的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语言题库就到这里了,考试加油呀!!!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Agent 内存马攻防

前言 在 jdk 1.5 之后引入了 java.lang.instrument 包&#xff0c;该包提供了检测 java 程序的 Api&#xff0c;用于监控、收集性能信息、诊断问题等。通过 java.lang.instrument 实现的工具我们称之为 Java Agent &#xff0c;Java Agent 能够在不影响正常编译的情况下来修改…

黑马主播单场带货千万,抖音直播市场还有哪些新机遇?

1月受春节假期影响&#xff0c;主播带货场次降低&#xff0c;抖音直播电商市场略显低迷&#xff0c;据新抖『直播带货风向』大盘数据显示&#xff0c;1月平台直播销量与去年12月相比下降39.55%&#xff0c;直播销售额下降也较为明显。了解更多行业带货风向&#xff0c;可点此处…

【C++11】可变参数模板

目录 可变参数模板 函数递归展开参数包 逗号表达式展开参数包 emplace_back 可变参数模板 其实C语言中我们就一直在使用可变参数列表。 C11 的新特性可变参数模板能够让我们创建可变参数的函数模板和类模板&#xff0c;相比C98和C03&#xff0c;类模板和函数模板中只能传入…

19《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》中文分享

《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》 本人能力有限&#xff0c;如果错误欢迎批评指正。 第四章&#xff1a;Protein Binding Leads to Biological Actions &#xff08;蛋白质的结合会产生生物作用&#xff09; -布朗棘轮在耦合结合的过…

独角兽大牛纯手肛出的一份多线程实战文档,莫把它丢进收藏夹吃灰

为什么用多线程&#xff1f; 在操作系统级别上&#xff0c;程序的执行都是以进程为单位&#xff0c;而每一个进程中通常都会有多个线程线程互不影响地并发执行&#xff0c;那么为什么要使用多线程呢&#xff1f;其实&#xff0c;多线程的使用为程序研发带来了巨大的便利&#…

删除重复数字的三种方法(详解)

前言&#xff1a;本期是关于去重数字的三种方法详解&#xff0c;今天你c了吗&#xff1f; 输入描述&#xff1a; 第一行&#xff0c;输入一个整数n&#xff0c;表示序列有n个整数。 第二行输入n个整数&#xff08;每个整数大于等于1&#xff0c;小于等于1000&#xff09;&…

关于模板字面量,我有点好奇它的内部结构

前言 最近翻看源码的时候&#xff0c;发现一些有趣的 JS 的知识点&#xff0c;基于日常的开发经验&#xff0c;我做了一些联想和对比。整个过程充满了乐趣。 于是我想&#xff0c;是不是可以延续这种创意带来的学习的乐趣。 带的富含创造力夜晚的 buff&#xff0c;确实让我拥…

一、系统编程常用api

一、文件io文件io是linux系统提供的接口&#xff0c;针对文件和磁盘进行操作&#xff0c;不带缓存机制标准io是c语言函数库里的标准io模型&#xff0c;在stdio.h中定义&#xff0c;通过缓冲区操作文件&#xff0c;带有缓存机制标准 IO 和文件 IO 的区别如下图所示&#xff1a;文…

SSD(固态) VS HDD(机械),购买指南

大多数人买电脑的时候纠结买固态硬盘&#xff08;SSD&#xff09;还是机械硬盘(HDD)。哪个是最佳选择呢&#xff0c;是固态硬盘还是机械硬盘呢&#xff1f;这个问题没有直接的答案&#xff0c;每个购买者有不同的需求&#xff0c; 需要根据需求做选择。这些需求像是性能、和预算…

DS18B20测量温度液晶1602显示

DS18B20温度传感器简介DS18B20是一种数字温度传感器。它输出的是数字信号&#xff0c;同时具有体积小&#xff0c;硬件资源耗费少&#xff0c;抗干扰能力强&#xff0c;精度高等特点。DS18B20温度传感器特点1、单线接口&#xff1a;DS18B20仅需一条线可实现与微处理器双向通信。…

泰山服务器板载 HNS3 网卡绑核无法充分利用 CPU 的解决思路

文章目录前言解决方案排查过程应用程序运行环境与方式检查是否存在 irqbalance 进程检查中断号对应的 CPU 亲和尝试其他绑核方式尝试调整队列数量:核心数量为 2:1前言 前段时间在泰山服务器上进行性能测试&#xff0c;预期是应用进程能够占满机器大部分 CPU。但实际上&#xf…

书城第二阶段——用户注册和登陆

目录0.0 JavaEE 项目的三层架构0.1 项目阶段二&#xff1a;用户注册和登陆的实现。1、先创建书城需要的数据库和表。2、编写数据库表对应的JavaBean对象。3、编写工具类 JdbcUtils3.1、导入需要的 jar 包&#xff08;数据库和连接池需要&#xff09;&#xff1a;3.2、在 src 源…

钉钉一键登录第三方网站

钉钉一键登录第三方网站序钉钉开发者后台H5微应用应用代码开发登录页面login.html登录实现LoginController.javapom.xml增加一键登录效果展示序 企业内部系统已经做过了钉钉扫码登录&#xff0c;现在需要添加钉钉一键登录第三方网站功能&#xff0c;这里主要记录一键登录整个实…

物联网终端设备的工作原理和功能讲解

物联网终端设备是实现数据采集和数据传输的设备&#xff0c;它连接了传感网络层和传输网络层&#xff0c;起到了数据采集、数据处理、数据加密和传输的功能。 物联网终端设备由传感器、外部传感接口、CPU和外部通讯组成&#xff0c;工作原理是通过外部传感接口与传感设备连接&a…

和平精英军需精打细算天花板,330拿下一整套军需

和平精英军需精打细算天花板&#xff0c;330拿下一整套军需&#xff01; #和平精英 #这游戏不花钱 #游戏凡星计划 军需精打细算天花板&#xff0c;一个月时间花 110 块获得 436 个军需币。拿个新军需的副套问题不大。要知道和平小店的暖弄大礼包&#xff0c; 100 左右&#…

一次在 classpath 使用通配符导致的偶发问题排查与建议

说起 Classpath&#xff0c;使用 Java 的同学应该都不会陌生。不过&#xff0c;目前的项目基本都会使用 Maven 等构建工具管理&#xff0c;开发过程中也会使用高度智能化的 IDE&#xff0c;在日常使用中直接涉及 Classpath 操作可能不多。前段时间遇到一个跟 Classpath 相关的偶…

【My Electronic Notes系列——触发器】

目录 序言&#xff1a; &#x1f3c6;&#x1f3c6;人生在世&#xff0c;成功并非易事&#xff0c;他需要破茧而出的决心&#xff0c;他需要永不放弃的信念&#xff0c;他需要水滴石穿的坚持&#xff0c;他需要自强不息的勇气&#xff0c;他需要无畏无惧的凛然。要想成功&…

【栈】单调栈详情介绍及其运用

单调栈单调栈的概述&#xff08;Overview&#xff09;何时使用单调栈模拟单调递增栈单调栈的运用&#xff08;算法练习题&#xff09;模板【练习一、单调栈】739. 每日温度【练习二、单调栈哈希表】496. 下一个更大元素 I【练习三、单调栈循环数组】503. 下一个更大元素 II【练…

Word处理控件Aspose.Words功能演示:使用 C++ 处理 Word 文档中的目录

Aspose API支持流行文件格式处理&#xff0c;并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。 Aspose.words是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和…

4EVERLAND IPFS CID部署,一键部署Uniswap

近日&#xff0c;4EVERLAND推出IPFS CID部署&#xff0c;开发者可以复制IPFS CID&#xff0c;一键部署到4EVERLAND。 一键部署&#xff0c;无需通过Github Repo&#xff0c;只需要知道CID即可。一键跨平台部署项目到 Arweave 或 ICP。了解IPFS CID&#xff0c;通过4EVERLAND绑…