1.在屏幕上输出以下图案 2.求出0〜999之间的所有“水仙花数”并输出 3.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字 4.字母大小写转换

1.在屏幕上输出以下图案:

       * 
      *** 
     ***** 
    ******* 
   ********* 
  *********** 
 ************* 
  *********** 
   ********* 
    ******* 
     ***** 
      *** 
       * 

程序编译如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
void Show(int line)
{
	int i = 1;
	for (; i <= line; i++)
	{
		int j = 0;
		for (; j < line - i; j++)
		{
			printf(" ");
		}
		for (j = 0; j < 2 * i - 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	for (i = 1; i < line; i++)
	{
		int j = 0;
		for (; j < i; j++)
		{
			printf(" ");
		}
		for (j = 0; j < 2 * (line - i) - 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
}
int main()
{
	int line = 0;
	scanf("%d", &line);
	Show(line);
	system("pause");
	return 0;
}

2.求出0〜999之间的所有“水仙花数”并输出。
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=13+53+3^3,则153是一个“水仙花数”。

#include
#include
#include
int narcissistic(int x)
{
	int count = 0;
	int sum= 0;
	int tmp = x;
	while (tmp != 0)
	{
		count++;
		tmp = tmp / 10;
	}
	tmp = x;
	while (tmp != 0)
	{
		sum = sum + pow((double)(tmp % 10),count );
		tmp = tmp / 10;
	}
	if (sum == x)
	{
		printf("%d\n", x);
	}
}
int main()
{
	int i = 100;
	for (; i < 10000; i++)
	{
		narcissistic(i);
	}
	system("pause");
	return 0;
}

3.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,
例如:2+22+222+2222+22222

#include
#include
int Sum(int n,int x)
{
	int sum = 0;
	int tmp = 0;
	int i = 0;
	for (; i < x; i++)
	{
		tmp = tmp * 10 + n;
		sum += tmp;
	}
	printf("%d", sum);
}
int main()
{
	Sum(2,5);
	system("pause");
	return 0;
}

4.编写一个程序,可以一直接收键盘字符, 如果是小写字符就输出对应的大写字符, 如果接收的是大写字符,就输出对应的小写字符, 如果是数字不输出。

#include
#include
void Change(char ch)
{
	if (ch >= 'a'&&ch <= 'z')
	{
		putchar(ch - 32);
		printf("\n");
	}
	else if (ch >= 'A'&&ch <= 'Z')
	{
		putchar(ch + 32);
		printf("\n");
	}
	else if (ch >= '0'&&ch <= '9')
	{
		putchar(ch);
		printf("\n");
	}
}
int main()
{
	int ch = 0;
	while ((ch = getchar()) != EOF)
	{
		Change(ch);
	}
	system("pause");
	return 0;
}

你可能感兴趣的:(C语言题型汇总)