文章目录
1.输入自己的个人信息(学号,姓名,专业,性别等)并输出控制台
源代码:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
cout<<"请输入个人信息:";
getline(cin,str);
cout<<str<<endl;
return 0;
}
运行结果:
2.设计一个程序,实现判断是否是闰年
源代码:
#include<iostream>
using namespace std;
int main()
{
int year;
bool isleapyear;
cout<<"Enter the year:";
cin>>year;
isleapyear=((year%100!=0&&year%4==0)||(year%400==0));
if(isleapyear){
cout<<year<<' '<<"is a leap year"<<endl;
}else{
cout<<year<<' '<<"is not a leap year"<<endl;
}
return 0;
}
运行结果:
3.输入一个正整数,反转这个数字,例如输入123,输出321.
源代码:
#include<iostream>
using namespace std;
int main()
{
int x,a,f=0;
cin>>x;
while(x>0)
{
a=x%10;
f=f*10+a;
x/=10;
}cout<<f;
return 0;
}
运行结果:
4.输入两个整数,求两个给定正整数的最大公约数和最小公倍数
源代码:
#include<iostream>
using namespace std;
int main()
{
int a,b,i,max,min;
cin>>a>>b;
if(a>b)
{
max=a;
min=b;
}
else if(a<b)
{
max=b;
min=a;
}
else
{
max=min=a;
}
for(i=min;i>0;i--)
{
if(max%i==0&&min%i==0)
{
cout<<i<<ends;
break;
}
}
for(i=max;;i++)
{
if(i%max==0&&i%min==0)
{
cout<<i;
break;
}
}
return 0;
}
运行结果:
5.输出前1000的素数
源代码:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int x,i;
int isprime=1;
for(x=2;x<1000;x++)
{
if(x%2==0&&x!=2)continue;
for(i=2;i<=sqrt(x);i++)
{
if(x%i==0)
{
isprime=0;
break;
}isprime=1;
}if(isprime==1)
{
cout<<x<<ends;
}
}
return 0;
}
运行结果:
6.给出 n,输出杨辉三角的前 n行
源代码:
#include<iostream>
using namespace std;
int main()
{
int n,a[100][100];
cin>>n;
a[1][1]=1;
a[2][1]=1;
a[2][2]=1;
for(int i=3;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
if(j==1||j==i)a[i][j]=1;
else
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
}
int cou;
for(int i=1;i<=n;i++)
{
cou=n-i;
while(cou>0)
{
printf(" ");
cou--;
}
for(int j=1;j<=i;j++)
{
if(j==i)cout<<a[i][j];
else cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
运行结果:
7.统计单词数,输入一个要查询的单词,以及一段英文短文,求出现的单词的个数,不区分大小写
源代码:
#include<iostream>
#include<string>
using namespace std;
int main()
{
void strlower(string &p);
string key;
string des;
int cou=0,i=0,j=0;
getline(cin,key);
getline(cin,des);
strlower(key);
strlower(des);
while(des[i]!='\0')
{
if(des[i]==' ')
{
i++;
continue;
}
if(des[i]==key[j])
{
while(des[i]==key[j])
{
if(des[i+1]==' '&&key[j+1]=='\0'||
des[i+1]=='\0'&&key[j+1]=='\0'||
des[i+1]==','&&key[j+1]=='\0'||
des[i+1]=='.'&&key[j+1]=='\0'||
des[i+1]=='?'&&key[j+1]=='\0'||
des[i+1]=='!'&&key[j+1]=='\0')
{
cou++;
break;
}
else
{
i++;
j++;
}
}
j=0;
}
if(des[i++]!='\0')i++;
}
cout<<cou<<endl;
return 0;
}
void strlower(string &p)
{
for(int i=0;p[i]!='\0';i++)
{
if(p[i]>='A'&&p[i]<='Z')
p[i]+=32;
}
}
运行结果:
8.输入一个正整数,判断是否是回文质数(回文数+质数)
源代码:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n,a,t;
int num=0,isPrime=1;
cin>>n;
if(n%2==0&&n!=2||n==1||n<0)
{
cout<<n<<"不是回文质数"<<endl;
}
else
{
t=n;
while(t>0)
{
a=t%10;
num=num*10+a;
t/=10;
}
if(num==n)
{
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
cout<<n<<"不是回文质数"<<endl;
isPrime=0;
break;
}
}
if(isPrime)
{
cout<<n<<"是回文质数"<<endl;
}
}
else
{
cout<<n<<"不是回文质数"<<endl;
}
}
return 0;
}
运行结果:
9.了解栈概念,自己编写一个类实现栈的基本功能(入栈,出栈,求栈的大小等其他基本功能)
源代码:
#include<iostream>
#include<stack>
using namespace std;
int main()
{
stack <char>stk;
for(char i='a';i<='z';i++)
{
stk.push(i);
}
cout<<"栈的大小:"<<stk.size()<<endl;
while(!stk.empty())
{
cout<<stk.top()<<endl;
stk.pop();
}
cout<<"栈的大小:"<<stk.size()<<endl;
return 0;
}
运行结果:
10.分别使用指针和引用编写两数交换,并根据自己实现的两数交换实现冒泡排序算法
指针:
源代码:
#include<iostream>
using namespace std;
int main()
{
void exchange(int *a,int *b);
int a[100],n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
for(int j=1;j<n-i;j++)
{
if(a[j-1]>a[j])
exchange(&a[j-1],&a[j]);
}
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<' ';
}
cout<<endl;
return 0;
}
void exchange(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
运行结果:
引用:
源代码:
#include<iostream>
using namespace std;
int main()
{
void exchange(int &a,int &b);
int a[100],n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
for(int j=1;j<n-i;j++)
{
if(a[j-1]>a[j])
exchange(a[j-1],a[j]);
}
}
for(int i=0;i<n;i++)
{
cout<<a[i]<<' ';
}
cout<<endl;
return 0;
}
void exchange(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
运行结果: