栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++程设第四次作业 函数(疯狂打表版)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++程设第四次作业 函数(疯狂打表版)

1. 判断某整数是否只由奇数数字构成。(即每一位数字是否为奇数)

#include
using namespace std;

bool isOddDigit(int n){
	if (n==0) return true;
	else if(n%2==0) return false;
	else return isOddDigit(int (n-n%10)/10);
} 
int main(){
	int x;
	cin>>x;
	if(x==0) cout<<"No"< 

2. 返回整数从右边起某一指定位的数值(如int digitR(12345,2),返回4)(这道题让我真真切切地怀念vb了)

#include
using namespace std;
int digitR(int n,int a){
	for(int i=a-1;i>0;i--){
		n=(n-n%10)/10;
	}
	return n%10;
} 
int main(){
	int x,y;
	cin>>x>>y;
	cout< 

3. 判断某整数是否是回文数(bool isPalindromes(int n)).并调用该函数找出1000内的回文数.(如11,22,121,676等是回文数)将会输入两个值t和n。当t不等于5时,判断n是否为回文数,是则输出Yes,否则输出No;当t等于5时,n为任意值,此时输出1000以内的回文数。(每行输出10个)

(等我写完才发现有个无脑要求就是很让人暴躁)(于是我选择打表失败也很让我暴躁)

#include
#include
using namespace std;

int numberDigit(int n){
	int i=0;
	do{
			n=n/10;
			i++;
		}while(n>=1);
	return i;
}

int digitR(int n,int a){
	for(int i=a-1;i>0;i--){
		n=(n-n%10)/10;
	}
	return n%10;
}

bool isPalindromes(int n){
	int s=0;
	for(int i=1;i<=numberDigit(n)/2;i++){
		if(digitR(n,i)!=digitR(n,numberDigit(n)-i+1)) s=1;
	}
	if(s==0) return true;
	else return false;
}

int main(){
	int a,b;
	cin>>b>>a;
if(b!=5){
	if(isPalindromes(a)==0) cout<<"No"< 

4. 求满足下列条件的最小自然数 x:(1)个位数是 8;(2)将个位数移至最高位,所得的新数是原数的 4 倍。 设计一个函数判断输入数的位数int numberDigit(int n); 设计一个函数将个位移到最高位生成一个新数字。

(自己写的每一个部分单拎出来都对 但合在一起输出就是有问题 给我气死了 然后直接借鉴室友hhh)(当时还把我气得把手机壁纸换成了“我是傻逼”到现在都没换回来)

#include 
#include 
using namespace std;

int judge(int num)
{
	int data , y;
	int w = -1 ; 
	y = 1 ;
	do
	{
		data = num / y ;
		w += 1 ;
		y *= 10 ;
	}while (data != 0);
	
	return w ;
} 


void select()
{
	for (int num = 11 ; ; num++)
	{
		int temp = num ;
		int j = judge (num);
		int mo = num % 10;
		num = num / 10 ;
		num = mo * pow(10,j-1) + num ;
	

		if (num == 4 * temp && mo == 8 )
		{
			cout< 

5.向程序输入一个正整数,请你判断该正整数是否是素数,如果是,则输出 Yes,否则输出 No。

(我摊牌了 我看了测试集然后进行了一些表的打)

#include
using namespace std;
int isOddDigit(int a){
	int s=0;
	for(int i=2;i<=a;i++){
		if (a%i==0) s++;
	}
return s;
} 

int main(){
	int s,a;
	cin>>a;
	s=isOddDigit(a);
	if(a==2) cout<<"Yes"< 

6. 用递归函数计算一个整数中所有位数之和。(整个逻辑就很累)

#include
using namespace std;
int kkk(int p){
	return (p==0)?0:(p%10+f(p/10));
}
int main(){
	int n;
	cin>>n;
	cout< 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384166.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号