C++自主测试题目
下面是题目
后面有代码
1.键盘输入3个整数a,b,c值,求一元二次方程a*X∧2+b*X+c=0(a≠0)的根,结果保留两位小树。
2.编写一个口令输入程序,让用户不停输入口令,直到输对为止,假设口令为100。
3.若一个数恰好等于除它本身外的所有因子之和,则这个数成为完数,例:6点因数是1,2,3。且6=1+2+3所以6是完数,求100以内的所有完数,并输出。
4.编程从键盘输入10个数,求它们的方差。
5.编程将递增数列10,20,30,40,50,60,70,80,90,100保存到数组中,再从键盘输入一个整数,将它插入该数列中,使之扔为一个递增数列。
6.键盘输入一个M*N的二位数组,求该数组各行的平均值,将结果放到一个数组中,并输出。
7.编写函数判断一个整数是否为回文数。主函数中调用该函数,输出1000到9000之间的所有回文数,,每行输出十个数字。回文是指正读和倒读都一样的数字。如98789。
8.编写函数power()用来求n∧k的值。在主函数中输入两个正整数n和k,调用函数power,求1∧k+2∧k+…+n∧k的值并输出结果。
9.编程求C(n,m)=m!/n!*(m-n)!,要求在主函数中输入自然数m,n的值并输入结果。若输入错误(即输入的不是自然数),提示错误信息。
10.编写函数输入月份,输出该月的英文名,要求用指针数组实现。
(附加题)11. 加密程序:由键盘输入明文,通过加密程序转换成密文并输出到屏幕上。 算法:明文中的字母转换成其后的第4个字母,例如,A变成E(a变成e),Z变成D,非字母字符不变;同时将密文每两个字符之间插入一个空格。例如,China转换成密文为G l m r e。要求:在函数change中完成字母转换,在函数insert中完成增加空格,用指针传递参数。
附加题别问了 我也忘了怎么写的了
欢迎小姐姐加QQ
#include <iostream>
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
using namespace std; /******************************C语言测试*******************************************************/
void test001()
{
int a, b, c;
double decide, x1, x2, m, n;
cout << "Please key in a,b,c";
cin >> a >> b >> c; decide = (double)b * (double)b - * (double)a * (double) c;
if (decide < )
{
printf("The number is roung \n");
}
else
{
m = -b / ( * a);
n = sqrt(decide) / ( *(double) a);
x1 = m + n;
x2 = m - n;
system("color 02");
printf("The answer is:\nx1=%.2f\nx2=%.2f\n", x1, x2);
}
} void test002()
{
int b;
cout << "Please key in the answer\n";
while ()
{
cin >> b;
if (b == )
{
break;
}
else
{
system("color 02");
cout << " 输入错误,再来一次\n";
}
}
system("color 02");
cout << "我的妈呀 你终于输入正确了";
} void test003()
{
int i, j, sum = ; for (i = ; i <= ; i++)
{
for (j = ; j < i; j++)
{
if (i % j == )
{
sum = sum + j;
}
}
if (sum == i)
{
printf("%d \n", i);
} sum = ;
}
} void test004()
{
int a[], i, m,sum,average,ans,answer;
sum = ;
ans = ;
for (i = ; i < ; i++)
{
cin >> a[i];
}
for (i = ; i < ; i++)
{
sum= sum+ a[i];
}
average = sum / ;
cout << sum <<endl<< average<<endl;
for (i = ; i < ; i++)
{
ans = ans + pow((a[i] - average), );
}
answer = ans / ;
cout << answer;
} void test005()
{
int m, n, v,i,c;
int a[] = { ,,,,,,,,, };
int j[] = { ,,,,,,,,, };
cin >> v;
for (i = ; i < ; i++)
{
if (v > a[i] && v < a[i+])
{
m = i + ;
break;
}
} n = m;
for (n; n<; n++)
{
a[n+] = j[n];
}
a[m] = v;
for (c = ; c <=; c++)
{
cout << a[c]<<endl;
}
} void test006()
{ } void test007()
{
int a, i = ;
for(a=;a<;a++)
{
if(a/%==a/% && a/%==a/%)
{
printf("%5d", a);
i++;
if(i==)
{
printf("\n");
i = ;
}
}
}
} void test008(int n,int k)
{
int m,sum=;
for (m = ; m <= n; m++)
{
sum = sum + pow(m, k);
}
cout << sum;
} int jiecheng( int m)
{
int Plus=;
for (int i = ; i <= m;i++)
{
Plus= Plus*i;
}
return Plus;
} void test009()
{
double answer; int n, m;
cout << "Please key in two number" << endl;
cin >> n >> m;
if (n == int(n) && m == int(m) && m > && n > )
{
answer =(double) jiecheng(m) / (double)(jiecheng(n) * (double)jiecheng(m - n));
cout << answer;
}
else
{
cout << "error";
}
} void test010()
{
int i;
const char* p[] = { "January","February","March","April","May","June","July","August","September","October","November","December" };
printf("please input your number of month:");
cin >> i;
printf("\n");
// i = i - 1;
// printf("The month is:%s\n", *p+i);
printf("The month is:%s\n", p[i-]);
} void test010_SECOND()
{
int i;
char p[][] = { "January","February","March","April","May","June","July","August","September","October","November","December" };
printf("please input your number of month:");
cin >> i;
char* a;
a = p[];
printf("\n");
printf("The month is:%s\n", *(p+i - ));
} void test006() {
int a, b, c = , d;
int column, row;
int sum[] = { ,,,,,,,,,,,,,,,,,,,,,,,,,,,, };
cout << "输入二维动态数组的行数和列数" << endl;
cin >> row >> column;
int n1, i;
int** array;
array = (int**)malloc(sizeof(int*) * row);
for (int i = ; i != row; i++)
array[i] = (int*)malloc(sizeof(int) * column);
int* average;
n1 = row;
average = (int*)malloc(n1 * sizeof(int));//动态一维数组
cout << "输入二维数组"<<endl;
for (int j = ; j != row; j++)
{
for (int k = ; k != column; k++)
{
cin >> array[j][k];
}
} for (int j = ; j != row; j++)
{
for (int k = ; k != column; k++)
{
cout << array[j][k];
}
} /*
for (a = 0; a <= row; a++)
{
for (b = 0; b < column; b++)
{
sum[a] = sum[a] + array[a][b];
}
average[a] = sum[a] / row;
} for (c = 0; c <= row; c++)
{
cout << average[c];
} */ //释放空间
for (int i = ; i != row; i++)
{
free(array[i]);
}
free(array);
free(average);
} int main()
{
test001();
test002();
test003();
test004();
test005();
test006();
test007();
int a, b;
cin >> a >> b;
test008(a,b);
test009();
test010();
return ; }
下面是我对第六题的修改
void test006()
{
int a, b, c = ;// , d;
int column, row;
int sum[] = { ,,,,,,,,,,,,,,,,,,,,,,,,,,,, };
cout << "输入二维动态数组的行数和列数" << endl;
cin >> row >> column;
int n1;// , i;
int** array;
array = new int* [row];
for (int i = ; i < row; i++)
array[i] = new int[column];
float* average;
n1 = row;
average = new float[n1];//动态一维数组
cout << "输入二维数组"<<endl;
for (int j = ; j != row; j++)
{
for (int k = ; k != column; k++)
{
cin >> array[j][k];
}
} for (int j = ; j != row; j++)
{
for (int k = ; k != column; k++)
{
cout << array[j][k];
}
} for (a = ; a < row; a++)
{
for (b = ; b < column; b++)
{
sum[a] += array[a][b];
}
average[a] = (float)sum[a] / row;
}
cout << endl;
for (c = ; c < row; c++)
{
cout << average[c] << endl;
} //释放空间
for (int i = ; i != row; i++)
{
delete[] array[i];
}
delete[] array;
delete[] average;
}
C++自主测试题目的更多相关文章
- 一套很有意思的C语言测试题目
网络上逛博客,发现了一套很有意思的测试题目: https://kobes.ca/ 大家有兴趣可以做一下,考一些关于C语言使用的细节: 中文翻译参考: https://www.cnblogs.com/l ...
- 《Cracking the Coding Interview》——第12章:测试——题目6
2014-04-25 00:53 题目:你要如何测试一个分布式银行系统的ATM机? 解法:ATM是Automatic Teller Machine,取钱的.我想了半天,没找到什么很清晰的思路,也许是因 ...
- 《Cracking the Coding Interview》——第12章:测试——题目5·
2014-04-25 00:41 题目:怎么测试一支笔?(Pen?您老说的是钢笔?) 解法:这种简约而不简单的题目,实在是面试官最喜欢,面试者最头疼的类型了.面试官可以只花三秒,以一种灰常高贵冷艳的语 ...
- 《Cracking the Coding Interview》——第12章:测试——题目4
2014-04-25 00:35 题目:没有专门的测试工具,你要如何对一个网页进行压力测试? 解法:拼手速,拼电脑数量呗.快捷键+复制粘贴网址,狂搞一番.话说回来,有脚本语言的情况下,直接写个脚本来模 ...
- 《Cracking the Coding Interview》——第12章:测试——题目3
2014-04-24 23:28 题目:玩象棋游戏,你要设计一个bool型的方法来检测一个棋子能否移动到指定位置. 解法:不同的棋子有不同的移动规则,那么应该采取棋子基类实现接口,各个棋子子类来实现的 ...
- LuoguB2001 入门测试题目 题解
Update \(\texttt{2021.7.3}\) 经测试,本题 \(a,b\) 范围在 long long,对代码进行了修改,并修改一些笔误,更新了数据范围. \(\texttt{2021.7 ...
- partOneJava学习卷土重来-----第一次测试题目介绍
石家庄铁道大学2021年秋季 2020 级课堂测试试卷(一)(15分) 课程名称: JAVA语言程序设计 任课教师: 王建民 考试时间: 150 分钟 一.考试要求: 1.按照测试 ...
- 《Cracking the Coding Interview》——第12章:测试——题目2
2014-04-24 23:15 题目:你有一段程序,运行了十次每次都在不同的地方崩掉了.已知这段程序只用了标准C或C++库函数,请问有什么思路来找出问题所在. 解法:1. 时间戳每次都不同.2. 随 ...
- 《Cracking the Coding Interview》——第12章:测试——题目1
2014-04-24 23:10 题目:找出下面代码里的错误. 解法:请看下面. 代码: // 12.1 What's wrong with the following code segment? # ...
随机推荐
- 华三IRF配置
配置步骤: IRF的配置步骤: 1.配置IRF域(域ID=10.成员ID.优先级) irf domain 10irf member 1 priority 10irf member 2 priority ...
- JS的ES6的Symbol
一.Symbol 1.什么是Symbol: Symbol是ES6新添加的原始类型(ES5已有原始数据类型:String,Number,boolean,function,undefined,object ...
- 洛谷 P2356 【弹珠游戏】题解
自我感觉应该没有用结构体做的吧 这道题其实非常水 很适合初学贪心的同学做一下 我好像没有用贪心做,嘻嘻 首先先读题, 题目中说这个游戏只能消灭当前所在位置的行.列的敌人 首先特判一下: if(tt== ...
- luogu P1725 琪露诺
二次联通门 : luogu P1725 琪露诺 /* luogu P1725 琪露诺 DP + 线段树 用线段树维护dp[i - R] ~ dp[i - L]的最大值 然后 转移方程是 dp[i] = ...
- vs2017使用OpenGL的方法
第一步:将相应的.lib和.h文件放到相应的文件夹中,具体如下: 将GLAUX.LIB,GLU32.LIB,OPENGL32.LIB 放到....\VC\Tools\MSVC\14.10.25017\ ...
- GitHub 手把手教你如何把本地项目或代码提交到Github托管
GitHub 手把手教你如何把项目或代码提交到Github托管 启动Git Bash命令行 重点内容 1.首先打开你的github,点击新建项目,点击new repositories ,然后直接给项目 ...
- python 路径拼接
>>> import os>>> os.path.join('/hello/','good/boy/','doiido')>>>'/hello/g ...
- JPA批量插入优化
遇到一个需求是excel数据导入,一次大概会批量插入几万的数据.写完一测奇慢无比. 于是开始打日志,分析代码,发现是插入数据库的时候耗时很长,发现是spring data jpa的原因. 翻看jpa的 ...
- Spring Transaction 使用入门
一.开篇陈述 1.1 写文缘由 最近在系统学习spring框架IoC.AOP.Transaction相关的知识点,准备写三篇随笔记录学习过程中的感悟.这是第一篇,记录spring Transactio ...
- centos7安装hadoop2.7.7
下载hadoop-2.7.7 网址如下 https://www-eu.apache.org/dist/hadoop/core/ 移动到/opt 路径下 在/opt下新建一个文件夹,名为app mkdi ...