贵州大学考研复试机试真题--c语言版

本文介绍了贵州大学考研复试的C语言机试真题,包括字符串翻转、整除判断、0和1个数计算、随机数处理、排序算法、日期星期计算、字符移动、素数判断、加密算法及单链表操作等题目,详细阐述了解题思路和方法。
摘要由CSDN通过智能技术生成

贵州大学考研复试机试真题–c语言版

A、字符串翻转–给定一个字符串,反序输出。

思路:拿到一个字符串,求出其长度,然后逆序输出

#include<stdio.h>
#define N 100
int main(){
   
	char str[N]; 
	int i,cnt=0;
	gets(str);//输入字符串 
	cnt = strlen(str);//获取字符串长度 
	for(i=cnt-1; i>=0; i--)//逆序输出字符串 
		printf("%c",str[i]); 
	return 0;
}

B、整除–输出100到1000之间能被5和6同时整除的数,输出格式为每10个数为一行。

注意:换行判断的位置!

#include<stdio.h>
int main(){
   
	int i,cnt=0;
	for(i=100; i<=1000; i++) {
   
		if(i%5==0 && i%6==0){
   
			printf("%d ",i);
			cnt++;
			if(cnt%10 == 0)
				printf("\n");
		}			
	}
	return 0;
}

C、0和1的个数–给定一个int型整数,输出这个整数的二进制的0和1的个数。

作模2运算,先算1的个数,再拿32位减去1的个数。

#include<stdio.h>
int main(){
   
	int n,i,cnt=0;
	scanf("%d",&n);
	for(i=0; n!=0; i++){
   
		if(n%2 == 1)
			cnt++;
		n/=2;
	}
	printf("0的个数为%d,1的个数为%d\n",32-cnt,cnt);
	return 0;
}

D、随机数–从1—20之间随机抽取5个数,输出抽取出来的5个数之和与剩余未被抽取的15个数之和的总和。

#include<stdio.h>
#define n 5 
int main(){
   
	int i,j,x,sum1=0,sum2=0,a[n]={
   0};
	
	//抽取出来的5个不重复的随机数
	x = rand()% 20 + 1;
	a[0] = x; 
	for(i=1; i<n; i++){
   
		x = rand()%20+1;
		a[i] = x;
		for(j=0; j<i; j++){
   
			if(a[i] == a[j]){
   
			    i-=1;
				
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蓝焰鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值