C语言程序(5)

本文介绍了四个C语言编程实例:计算数列的平均值,打印ASCII码表,计算某日是该年的第几天,以及求解2的N次方。这些例子涵盖了基本的算术操作、字符处理和日期计算,适合C语言初学者进行练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

13.计算数列的平均数

// project_13.cpp : 定义控制台应用程序的入口点。
//
/*
计算数列的平均数
*/
#include "stdafx.h"
float ave(float start,float step,int num)   //求平均值
{
	int i;
	float sum=0.0, ave=0.0;
	sum = start;
	for (i = 1; i < num; i++)
		sum =sum+start+i*step;
	printf("该数列的总和:sum=%f\n", sum);
	ave = sum / num;
	return ave;

}

int main()
{
	float start, step;
	int num;
	printf("输入初始值,步长,元素个数:");
	scanf_s("%f,%f,%d", &start, &step,&num);
	printf("该数列的平均数:ave=%f\n", ave(start, step, num));
    return 0;
}

14.打印ASCLL码表

// project_14.cpp : 定义控制台应用程序的入口点。
//
/*
打印ASCLL码表
*/
#include "stdafx.h"
void pri()
{
	int i;
	for (i = 0; i < 128; i++)
	{
		if (i % 10 == 0)
			printf("\n");
		printf("%5c", (char)i);
	}
}
int main()
{
	pri();
    return 0;
}
最开始的24个符号不能正确打印,不知道为什么。

15.计算某日是该年的第几天

// project_15.cpp : 定义控制台应用程序的入口点。
//
/*
计算某日是该年的第几天
*/
#include "stdafx.h"
int panduan(int year)
{
	int flag = 0;
	if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
		flag = 1;
	return flag;
}

int getdays(int year, int month, int day)
{
	int sum=0;
	switch (month)
	{
	case 1:sum = day; break;
	case 2:sum = day + 31; break;
	case 3:sum = day + 31 + 28; break;
	case 4:sum = day + 31 + 28 + 31; break;
	case 5:sum = day + 31 + 28 + 31 + 30; break;
	case 6:sum = day + 31 + 28 + 31 + 30 + 31; break;
	case 7:sum = day + 31 + 28 + 31 + 30 + 31 + 30; break;
	case 8:sum = day + 31 + 28 + 31 + 30 + 31 + 30+31; break;
	case 9:sum = day + 31 + 28 + 31 + 30 + 31 + 30 + 31+31; break;
	case 10:sum = day + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31+30; break;
	case 11:sum = day + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31; break;
	case 12:sum = day + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31+30; break;
	default:printf("输入的月份错误,无法输出正确答案!!!\n");
	}
	if (panduan(year) == 1||month>2)
		sum = sum + 1;
	if (day > 31)
	{
		printf("输入的日期错误,无法输出正确答案!!!\n");
		sum = 0;
	}
	return sum;
}

int main()
{
	int year, month, day;
	printf("请输入日期:");
	scanf_s("%d,%d,%d", &year, &month, &day);
	printf("%d年%d月%d日是%d年的第%d天\n", year, month, day, year, getdays(year, month, day));
    return 0;
}

16.2的N次方

// project_16.cpp : 定义控制台应用程序的入口点。
//
/*
2的N次方
*/
#include "stdafx.h"
float nici(int n)
{
	int i;
	float sum = 1;
	if (n > 0)
	{
		for (i = 1; i <= n; i++)
			sum = sum * 2;
	}
	else if (n < 0)
	{
		for (i = -1; i >= n; i--)
			sum = sum / 2;
	}
	else
		sum = 1;
	return sum;
}

int main()
{
	int n;
	float sum;
	float number;
	printf("要求2的多少次方:");
	scanf_s("%d", &n);
	sum = nici(n);
	printf("2的%d次方:sum=%f\n", n, sum);
    return 0;
}





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值