C语言小题目(练手感)


前言

记录一些关于C语言的小题目,练练手感


题目

1.题目一(a, b, c)

在这里插入图片描述

代码如下(示例):

#include <stdio.h>

int func(int a, int b, int c) {
	if(b > a && c > b) {
		return 1;
	} else if(b > c && a > b) {
		return 1;
	}
	return 0;
}

int main(void) {
	int a = 13, b = 11, c = 11;
	printf("%d\n", func(a, b, c));

	return 0;
}


结果如图所示:
在这里插入图片描述

2.题目二(1-1/2+1/3-1/4+…+1/99-1/100)

在这里插入图片描述

代码如下(示例):

#include <stdio.h>

int main(void) {
	int num = 1, i = 0;
	double sum = 1;
	while(num < 100) {
		++num;
		if( 0 == (num % 2)) {
			sum = sum - 1 / double(num);
		} else {
			sum = sum + 1 / double(num);
		}
		printf("%d\t sum = %lf\n", ++i, sum);
	}

	printf("sum = %f\n", sum);



	return 0;
}

结果如图所示:
在这里插入图片描述

3.题目三(求整数位数)

在这里插入图片描述
代码如下(示例):

#include <stdio.h>

int GetCount(int nValue) {
	int  i = 0, n = 1;
	while(1) {
		if( (nValue / n) > 0) {
			i++;
			n *= 10;
		} else {
			break;
		}
	}
	return i;
}


int main(void) {
	int num;
	printf("请输入一个整数:");
	scanf("%d", &num);
	printf("\n");




	printf("这个整数的位数是:%d\n", GetCount(num));


	return 0;
}



结果如图所示:
在这里插入图片描述

4.题目4(纠错+编写strcpy函数)

代码如下(示例):

在这里插入图片描述

#include <stdio.h>
#include <malloc.h>


void GetMemory(char **p, unsigned int size) {
	*p = (char*)malloc(size);

	return ;
}


char* strcpy(char* dest, char* src) {
	if(NULL == dest && NULL == src) {
		return NULL;
	}

	int i = 0;
	while( *(src + i) != '\0') {
		*(dest + i) = *(src + i);
		i++;
	}
	*(dest + i) = '\0';
	return dest;
}



int main(void) {
	char* str = NULL, *p = NULL;
	GetMemory(&str, 20);
	p = strcpy(str, "hello c company\n");
	printf(str);
	//printf("*p = %c\n", *p);
	
	free(str);

	return 0;
}




结果如图所示:
在这里插入图片描述

5.题目5(余数)

在这里插入图片描述

代码如下(示例):

#include <stdio.h>

int GetPhaseNum(void) {
	int n = 2, i = 0;
	while(n++) {
		i = 0;
		if(n%2 == 1) {
			i++;
		}
		if(n%3 == 2) {
			i++;
		}
		if(n%5 == 4) {
			i++;
		}
		if(n%6 == 5) {
			i++;
		}
		if(n%7 == 0) {
			i++;
		}
		if(5 == i) {
			return n;
		}
	}
	return 0;
}



int main(void) {
	printf("答案是:%d\n", GetPhaseNum() );

	return 0;
}


结果如图所示:
s


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

free(me)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值