C语言笔记5

华氏温度转换摄氏温度,函数解决版

#include <stdio.h>

float celsius(float fahr);

/* 华氏温度转换摄氏温度,函数解决版 */
main()
{
	float fahr;
	int lower, upper, step;

	lower = 0;		/* 温度下限 */
	upper = 300;	/* 温度上限 */
	step = 20;		/* 步长 */

	fahr = lower;
	while(fahr <= upper){
		printf("%3.0f %6.1f\n", fahr, celsius(fahr));
		fahr = fahr + step;
	}
}

/* celsius函数:华氏温度转换成摄氏温度 */
float celsius(float fahr)
{
	return (5.0/9.0) * (fahr-32.0);
}

 

求幕函数

#include <stdio.h>

int power(int base, int n);

/* 求幕函数 */
main()
{
	int i;

	for(i = 0; i < 10; ++i)
		printf("%d %d %d\n", i, power(2, i), power(-3, i));
}

/* power函数:求底数的n次幕,其中n >= 0 */
int power(int base, int n)
{
	int i, p;

	p = 1;
	for(i = 1; i <= n; ++i)
		p = p * base;
	return p;
}

 

打印最长的输入行

#include <stdio.h>
#define MAXLINE 1000 /* 允许的输入行的最大长度 */

int getline(char line[], int maxline);
void copy(char to[], char from[]);

/* 打印最长的输入行 */
main()
{
    int len;        /* 当前行长度 */
    int max;        /* 目前为止发现的最长行的长度 */
    char line[MAXLINE];        /* 当前的输入行 */
    char longest[MAXLINE];    /* 用于保存最长的行 */

    max = 0;
    while((len = getline(line, MAXLINE)) > 0)
        if(len > max){
            max = len;
            copy(longest, line);
        }
    if(max > 0)        /* 存在这样的行 */
        printf("%s", longest);
    return 0;
}

/* getline函数:将一行读入到s中并返回其长度 */
int getline(char s[], int lim)
{
    int c, i;

    for(i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
        s[i] = c;
    if(c == '\n'){
        s[i] = c;
        ++i;
    }
    s[i] = '\0';
    return i;
}

/* copy函数:将from复制到to,这里假定to足够大 */
void copy(char to[], char from[])
{
    int i;

    i = 0;
    while((to[i] = from[i] != '\0'))
        ++i;
}
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值