2006年江苏大学885代码题(含答案)

一、前言

提示:以下是博主自己写的代码,仅供参考,欢迎有兴趣的朋友们留言讨论呀

二、正文

1.第一题

在这里插入图片描述

#include<stdio.h>

void main()
{
	double x = 0, k;
	for (k = 1; k <= 100; k++)
	{
		x += k;
	}
	for (k = 1; k <= 50; k++)
	{
		x += k * k;
	}
	for (k = 1; k <= 10; k++)
	{
		x += 1 / k;
	}
	printf("结果为:%lf", x);
}

运行结果示例:
在这里插入图片描述
手写版:

2. 第二题

在这里插入图片描述

#include<stdio.h>

// 判断是否是水仙花数,是则返回1,否则返回0
int judge(int n);

void main()
{
	printf("水仙花数有:\n");
	for (int i = 100; i < 1000; i++)
	{
		if (judge(i))
		{
			printf("%d ", i);
		}
	}
}

int judge(int n)
{
	int a = n, a1, a2, a3;
	a1 = a % 10;
	a /= 10;
	a2 = a % 10;
	a /= 10;
	a3 = a;
	if (a1 * a1 * a1 + a2 * a2 * a2 + a3 * a3 * a3 == n)
	{
		return 1;
	}
	return 0;
}

运行结果示例:
在这里插入图片描述
手写版:

3.第三题

在这里插入图片描述

#include<stdio.h>

void main()
{
	int v[] = { 0,0,0,0 }, k, sum = 0, a = -1;
	printf("开始计票:\n");
	// 输入
	while (1)
	{
		scanf("%d", &k);
		if (k >= 1 && k <= 4)
		{
			v[k - 1]++;
			sum++;
		}
		else if (k == -1)
		{
			break;
		}
	}
	printf("zhang,wang,li,zhao的得票是:%d,%d,%d,%d\n", v[0], v[1], v[2], v[3]);
	for (int i = 0; i < 4; i++)
	{
		if (v[i] > sum / 2)
		{
			a = i;
		}
	}
	if (a == -1)
	{
		printf("无当选者\n");
	}
	if (a == 0)
	{
		printf("当选者是zhang\n");
	}
	if (a == 1)
	{
		printf("当选者是wang\n");
	}
	if (a == 2)
	{
		printf("当选者是li\n");
	}
	if (a == 3)
	{
		printf("当选者是zhao\n");
	}
}

运行结果示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
手写版:

4.第四题

在这里插入图片描述

#include<stdio.h>

// 画整幅图
void p1(int n);
// 画行。x个字母,y个空格
void p2(int x, int y);

void main()
{
	char ch;
	int n;
	// 输入
	while (1)
	{
		printf("请输入一个英文字母:");
		scanf("%c", &ch);
		if (ch >= 'A' && ch <= 'Z')
		{
			n = ch - 'A' + 1;
			break;
		}
		if (ch >= 'a' && ch <= 'z')
		{
			n = ch - 'a' + 1;
			break;
		}
	}
	// 画图
	p1(n);
}

void p1(int n)
{
	/*
	* 第i行画i*2-1个字母
	* 左右各画n-1个空格
	*/
	// 画上三角
	for (int i = 1; i <= n; i++)
	{
		p2(i * 2 - 1, n - i);
	}
	// 画下三角
	for (int i = n - 1; i >= 1; i--)
	{
		p2(i * 2 - 1, n - i);
	}
}

void p2(int x, int y)
{
	char c1 = 'A' + (x + 1) / 2 - 1, c2 = ' ';
	// 画左边空格
	for (int i = 0; i < y; i++)
	{
		printf("%c", c2);
	}
	// 画中间字母
	for (int i = 0; i < x; i++)
	{
		printf("%c", c1);
	}
	// 画右边空格(其实画不画右边的空格都无所谓)
	for (int i = 0; i < y; i++)
	{
		printf("%c", c2);
	}
	printf("\n");
}

运行结果示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
手写版:

→返回总目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值