文章目录
- 1月
- 1. 任意输入一个3位整数(100~999,包含100与999),判断输入的整数是否是质数,如果是质数则输出是质数,否则输出不是质数
- 2.“降序数”是指一个自然数的低位数字不大于高位数字的数。例如:651,555,321都认为是降序数,但626不是降序数。编一个程序,输入一个3位数,判定它是否为降序数,并输出判断结果
- 3.任意输入一个4位整数(1000~9999,包含1000与9999),先判断输入是否符合条件,不符合则提示重新输入,编程算出各位数字加在一起的和是多少并输出
- 4.定义一个二维数组a,定义一个指针p指向数组,通过指针遍历数组。求出数组中各元素中的最大值,求出数组中各元素中的最小值,然后输出最大值和最小值
- 5.输入整数a和b,求两个数的最大公约数,求两个数的最小公倍数,要求用上三元运算符与循环等
- 2月
- 1.编程计算 s=1*1+3*3+...+99*99 的值
- 2.编程输出下面图形:(1)要求使用for循环 (2)正确输出图形
- 3.编程实现输入5个整数
- 4.4.输入一个大于0的整数
- 12月
- 1.已知n>=0,f(0)=0,f(n)=n+f(n-1),用递归函数计算f(n)的结果,并输出f(10)的值
- 2.编写三个重载函数mul,分别实现整数相乘,浮点数相乘,Double数值相乘,并在main函数中调用,实现不同类型计算
- 3.由键盘输入一个10~100间的整数做一个人的年龄,要求输入值正确,否则提示重新输入,根据输入数值,判断这个人是少年(10~18),青年(19~35),中年(36~60),还是老年(61~100)
- 4. 编程求1~100(不包括1和100)间所有素数,并遍历输出这些素数,同时计算并输出素数个数
- 5.定义四个整数abcd,求出最大值与最小值,并判断b是否是中间值(不是最大也不是最小值)
- 10月
- 1.输入:2, 3, 11, 9输出:2是素数 3是素数11是素数9不是素数
- (2)输入三角形三个边长值,并判断该三角形是否为直角三角形
- (3)由键盘输入两个2位正整数a、b,并由四个数字拼接成新的正整数c
目录
1月
1. 任意输入一个3位整数(100~999,包含100与999),判断输入的整数是否是质数,如果是质数则输出是质数,否则输出不是质数
void test1_1(){
int num;
cin >> num;
if(num >=100 && num <=999){
int count = 0; //计数
for(int k = 1;k<=num;k++){ //因子
if(num%k==0){
count++;
}
}
if(count==2){
cout << num << "是质数" << endl;
} else{
cout << num << "不是质数" << endl;
}
} else{
cout << "输入错误" << endl;
}
}
2.“降序数”是指一个自然数的低位数字不大于高位数字的数。例如:651,555,321都认为是降序数,但626不是降序数。编一个程序,输入一个3位数,判定它是否为降序数,并输出判断结果
void test1_2(){
int num ;
cin >> num;
int h = num/100%10; //百位
int s = num/10%10; //十位
int l = num%10; //个位
if(h>=s && s>=l){
cout << "是降序数" << endl;
} else{
cout << "不是降序数" << endl;
}
}
3.任意输入一个4位整数(1000~9999,包含1000与9999),先判断输入是否符合条件,不符合则提示重新输入,编程算出各位数字加在一起的和是多少并输出
void test1_3(){
int num ;
cin >> num;
if(num >=1000 && num<=9999){
int q = num/1000%10;
int b = num/100%10;
int s = num/10%10;
int g = num%10;
cout << "和:" << q+b+s+g << endl;
} else{
cout <<"不符合条件";
}
}
4.定义一个二维数组a,定义一个指针p指向数组,通过指针遍历数组。求出数组中各元素中的最大值,求出数组中各元素中的最小值,然后输出最大值和最小值
int test3_zz(){
int b[2][3] = {{1,2,3},{4,5,6}};
int *p = b[0]; //相当于b[0][0]
int max = b[0][0];
int min = b[0][0];
for(int i = 0;i<2;i++){
for(int j = 0;j<3;j++){
cout <<*p<<endl;
if(max < *p){
max = *p;
}
if(min > *p){
min = *p;
}
p++;
}
cout <<endl;
}
cout << max << min << endl;
}
5.输入整数a和b,求两个数的最大公约数,求两个数的最小公倍数,要求用上三元运算符与循环等
void test1_5()
{
int a,b;
cin >>a >> b;
int min = (a>b)?b:a; //最小数字 2
for(int i = min;i>=1;i--){ // 2 1
if(a%i == 0 && b%i==0){
cout << "最大公约数:" << i<< endl;
cout << "最小公倍数" << a*b/i << endl;
}
}
}
2月
1.编程计算 s=11+33+…+99*99 的值
(1)定义并初始值s=0
(2)实现0-99的循环
(3)输出结果s
int test2_1(){
int s=0;//局部变量
for(int i=1;i<100;i+=2){//循环100次
s+=i*i; //1*1 + 3*3
}
cout << "结果:"<<s<< endl;
}
2.编程输出下面图形:(1)要求使用for循环 (2)正确输出图形
int test2_2(){
for(int i = 5;i>=1;i--){ //外层循环执行5次,表示5行
for(int k = 5;k>=i;k--){
cout << " "; //打印空格
}
for(int j=1;j<=2*i-1;j++) {
cout << "*"; //打印*
}
cout << endl;//换行
}
}
3.编程实现输入5个整数
(1)提示并输入5个整数
(2)定义数组,将输入数据存入数组
(3)然后由小到大排序
(4)输出排序结果
(5)然后输出最小值与最大值
int test2_3(){
int arr[5]; //空数组,长度是5
for(int i = 0;i< size(arr);i++){//循环5次
cin >> arr[i]; //给数组赋值
}
sort(arr,arr+5); //排序,升序
cout << "最小:" << arr[0] <<" "<< "最大值:" << arr[5-1];
}
4.4.输入一个大于0的整数
(1)判断是否符合条件,不符合则提示输入有误,请重新输入
(2)判断是奇数还是偶数并输出判断
(3)判断是否是素数并输出判断
int test2_4(){
int num;
cin >> num;//用户输入
if(num>0){
if(num%2==0){
cout << "是偶数" << endl;
} else{
cout << "是奇数" << endl;
}
//i因子(范围 1-本身)
int count = 0; //计数
for(int i = 1;i<=num;i++){
if(num%i == 0){
count++; //只要能整除,就计数,素数最多只有2个
}
}
if(count == 2){
cout << num<<"是素数" << endl;
} else{
cout << num<<"不是素数" << endl;
}
} else{
cout << "输入错误";
}
}
12月
1.已知n>=0,f(0)=0,f(n)=n+f(n-1),用递归函数计算f(n)的结果,并输出f(10)的值
int f(int n){
if(n==0){
return 0;
} else{
return n+f(n-1);
}
}
2.编写三个重载函数mul,分别实现整数相乘,浮点数相乘,Double数值相乘,并在main函数中调用,实现不同类型计算
void mul(int a,int b){ //2
cout << a*b; //return
}
void mul(double a,double b){
cout << a*b;
}
void mul(float a,float b){
cout << a*b;
}
int main(){
mul(1.2f,4.5f); //float
mul(1.2,4.5);
mul(4,5);
}
3.由键盘输入一个10100间的整数做一个人的年龄,要求输入值正确,否则提示重新输入,根据输入数值,判断这个人是少年(1018),青年(1935),中年(3660),还是老年(61~100)
void test3(){//无返回值
int age;
cin >> age;
if(age>=10 && age<=100){
if(age>=10 && age <=18){
cout << "少年";
} else if(age>=19 && age <=35){
cout << "青年";
}
else if(age>=36 && age <=60){
cout << "中年";
} else{
cout << "老年";
}
} else{
cout << "输入错误";
}
}
4. 编程求1~100(不包括1和100)间所有素数,并遍历输出这些素数,同时计算并输出素数个数
void test4(){
int total = 0; //素数的总个数
for(int num = 2;num<100;num++){ //循环num从2开始到99
int count = 0; //计数 用来判断是不是素数
for(int k = 1;k<=num;k++){ //k因子,从1到本身
if(num%k == 0){ //数字%因子
count++;
}
}
if(count == 2){ //是素数
cout << num << endl;
total++; //素数的数量累加
}
}
cout << "共有" << total << "个素数" << endl;
}
5.定义四个整数abcd,求出最大值与最小值,并判断b是否是中间值(不是最大也不是最小值)
void test5(){
int a,b,c,d; //定义4个变量
cin >> a >> b >> c>> d; //输入4个数字
int arr[4] ={a,b,c,d}; //4个放到数组
sort(arr,arr+4); //升 小到大
cout << "最小:" << arr[0] << "最大" << arr[3] << endl;
if(b>arr[0] && b<arr[3]){ //判断中间值
cout <<b <<"是中间值" << endl;
} else{
cout <<b << "不是中间值" << endl;
}
}
10月
1.输入:2, 3, 11, 9输出:2是素数 3是素数11是素数9不是素数
void test10_1(){ //只能被1和本身整数的数字
int n[]={2,3,11,9};
for(int i = 0;i< size(n);i++){ //下标
int count = 0; //计数
for(int k = 1;k<=n[i];k++){ //因子1开始 数字本身结束
if(n[i]%k ==0){ //数字%因子
count++;//计数
}
}
if(count == 2){ //1、本身
cout << n[i]<<"是素数(质数)"<< endl;
} else{
cout << n[i]<<"不是素数(质数)"<<endl;
}
}
}
(2)输入三角形三个边长值,并判断该三角形是否为直角三角形
提示:根据勾股定理,斜边C=5,直角边A、B分别为3、4时,是直角三角形
使用if条件判断c方= a方+b方为真时,输出是直角三角形的文字到屏幕
计算A/C 和 B/C的值,即sin和cos
并输出至屏幕
void test10_2(){
double a,b,c;
cin >> a>> b>>c;
if(a*a+b*b==c*c){ //a方+b方=c方 c是斜边
cout << "是直角三角形" << a/c <<" "<< b/c <<endl; //sin和cos
} else if(b*b+c*c == a*a){
cout << "是直角三角形" << c/a <<" "<< b/a << endl;
} else if(a*a+c*c==b*b){
cout << "是直角三角形" <<a/b<<" "<< c/b << endl;
} else{
cout << "不是直角三角形" << endl;
}
}
(3)由键盘输入两个2位正整数a、b,并由四个数字拼接成新的正整数c
a的十位、个位放置于c的百位、个位
b的十位、个位放置于c的千位、十位
例:a=56;b=34
则C=3546
void test10_3(){
int a,b;
cin >>a >> b; //用户输入
int c = b/10%10*1000+a/10%10*100+b%10*10+a%10;
cout << c<< endl;
}