内蒙古大学892程序设计

内蒙古大学892程序设计,第1张

内蒙古大学892程序设计 2018年

1.给定两个数字a、b,试求a、b之间的所有素数,并打印输出

#include 

using namespace std;

int prime(int m){
	int sign = 1,i = 2;
	for(i=2;i>a>>b;
	for(i=a;i<=b;i++){
		if(prime(i)){
			cout< 

运行结果:

2.输入一个正整数,判断这个数是否是“回文数”。所谓“回文数”,便是正着念和反着念都一样的数。比如,1、11、121、1221、12321,都是回文数。如果这个输入的数是回文数,那么输出“YES”,如果不是回文数,输出“NO”。

#include 
#include 

using namespace std;

int palindrome(string str){
	int len,i,k,sign=1;
	len = str.length();
	k = len - 1;
	for(i=0;i>str;
	while(str!=temp){
		sign = palindrome(str);
		if(sign){
			cout<<"YES"<>str;
	}
}

运行结果:

3.输入一个正整数n(n<=30),输出n所对应的蛇形矩阵。举两个例子:

n=10时,蛇形矩阵为:
10 9 5 4
8 6 3
7 2
1
n=9时,蛇形矩阵为:
9 8 4 3
7 5 2
6 1

#include 
#include 

using namespace std;

int main(){
	int n;
	cin>>n;

	int k = ((int)ceil(double(n*1.0/2)-1));

	int a[10][10] = {0};

	for(int i=0;i0;j++){
				a[j][i-j] = n;//从上往下填充
				n--;
			}
		}
		else{
			for(int j=0;j<=i&&n>0;j++){
				a[i-j][j] = n;//从下往上填充
				n--;
			}
		}
	}

	for(int i=0;i运行结果:

4.把一个9进制的数转化为19进制的数,并输出。(用 A 到 I 表示10~18)

#include 
#include 
#include 

using namespace std;

int main(){
	while(1){
		int m=9,n=19,ten=0;
		char num[50]={0},ans[50]={0};
		cout<<"输入一个9进制数:";
		cin>>num;
		//转换为10进制
		int len = strlen(num);
		for(int i=len-1,k=0;i>=0;i--,k++){
			int tmp;
			if(num[i]>='A' && num[i]<='I'){
				tmp = num[i]-'A'+10;
			}
			else{
				tmp = num[i] - '0';
			}
			ten = ten + tmp * pow((float)m,k);
		}
		//转换为19进制
		int k=0;
		while(ten!=0){
			int u = ten % n;
			ten /= n;
			char tmp;

			if(u<10){
				tmp = u + '0';
			}
			else{
				tmp = u + 'A' - 10;
			}
			ans[k++] = tmp;
		}
		//输出结果
		cout<<"转换成19进制为:";
		for(int i=k-1;i>=0;i--){
			cout< 

运行结果:

5.给定一串字符,要求统计其中 “the” 出现的次数。(根据空格)

#include
#include 
#include 
#include 

using namespace std;

int main(){
	string exp,input;
	int len_exp=0,len_input=0,count=0;

	getline(cin,exp);
	getline(cin,input);

	len_exp = exp.size();
	len_input = input.size();

	for(int i=0;i<=len_input-len_exp;i++){
		int j=0;
		for(;j 

运行结果:

6.输入小李的出生年月日,并打印输出截至到今天他经历了几个2月29日。

#include 

using namespace std;

int main(){
	int year,month,date,sum = 0;
	cout<<"请输入小李生日:"<>year>>month>>date;
	for(int i=year+1;i<=2021;i++){
		if(i%4==0 && i%100!=0 || i%400==0){
			sum++;
		}
	}
	if(year%4==0 && year%100!=0 || year%400==0){
		if(month<3)
			sum++;
	}
	cout<<"小李经历了 "< 

运行结果:

7.用编程语言描述汉诺塔问题并解决。

#include 

using namespace std;

void move(char x,char y){
	cout<"<>n;
	hanoi(n,'A','B','C');
	return 0;
}

运行结果:

8.输入一个N阶矩阵,并打印输出每一列的最大值的和。

#include 

using namespace std;

int main(){
	int a[11][11],sum = 0,max;
	int i,j,n;
	cin>>n;
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			cin>>a[i][j];
		}
	}
	for(i=1;i<=n;i++){
		max = a[1][i];
		for(j=1;j<=n;j++){
			if(a[j][i]>max)
				max = a[j][i];
		}
		sum += max;
	}
	cout< 

运行结果:

9.依次输入50名同学的出生年月日,并按照他们的出生日期依次打印输出他们的名字。

#include
#include
using namespace std;
#define N 3
int main()
{
	struct student
	{
		string day,name;
	};
	string nam,ymd;
	int i=1,j;
	student stud[51],temp;
	for(;i<=N;i++)
	{
		cin>>stud[i].name;
		cin>>stud[i].day;
	}
	for(i=1;istud[j+1].day)
			{
				temp=stud[j];
				stud[j]=stud[j+1];
				stud[j+1]=temp;
			}
		}
	}
	cout< 

运行结果:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5610290.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存