1.给定两个数字a、b,试求a、b之间的所有素数,并打印输出。
#includeusing 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;i 0;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日。
#includeusing 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.用编程语言描述汉诺塔问题并解决。
#includeusing namespace std; void move(char x,char y){ cout< "< >n; hanoi(n,'A','B','C'); return 0; } 运行结果:
8.输入一个N阶矩阵,并打印输出每一列的最大值的和。#includeusing 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;i stud[j+1].day) { temp=stud[j]; stud[j]=stud[j+1]; stud[j+1]=temp; } } } cout< 运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)