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? # ...
随机推荐
- LeetCode 886. Possible Bipartition
原题链接在这里:https://leetcode.com/problems/possible-bipartition/ 题目: Given a set of N people (numbered 1, ...
- cc2530中单片机的通用I/O接口
cc2530中有21个输入/输出引脚. 这些引脚可以设置为通用I/O或者设置为外设I/O.(其实这里的外设还是不太懂到底指什么,网上说输入设备,但是通用I/O也可以输入啊,为什么要弄外设I/O?) 其 ...
- BZOJ 4459: [Jsoi2013]丢番图 数学推导
之前绝对做过几乎一模一样的题,现在做竟然忘了. code: #include <bits/stdc++.h> #define ll long long #define setIO(s) f ...
- [RN] React Native 滚动跳转到指定位置
React Native 滚动跳转到指定位置 一.结构 <ScrollView horizontal={true} ref={(view) => { this.myScrollView = ...
- python 函数注解 参数后面加冒号 函数后面加箭头
由于 python 是动态语言,在定义函数时,参数是不需要指定类型的.当调用别人写的函数,而该函数有没有文档说明,只有通过看源代码才能知道需要传递什么类型的参数. 不过 python 提供了一种机制可 ...
- 19 条效率至少提高 3 倍的 MySQL 技巧
阅读本文大概需要 4 分钟. 来源:https://zhuanlan.zhihu.com/p/49888088 本文我们来谈谈项目中常用的 MySQL 优化方法,共 19 条,具体如下: 1.EXPL ...
- leetcode 85. 最大矩形
题目描述: 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 思路分析: 这题是之前那道最大正方形的进阶,同样是利用dp来求解.通过逐行去计算最大矩形,即优化的 ...
- 【转】Linux下的CPU使用率与服务器负载的关系与区别
当我们使用top命令查看系统的资源使用情况时会看到load average,如下图所示,它表示系统在1,5,15分钟的平均工作负载. 那么什么是负载(load)呢?它和CPU的利用率又有什么关系呢? ...
- SpringBoot——配置文件占位符
在配置文件中采用: ${random.int} 获取一个随机值.
- git clone指定branch或tag
git clone指定branch或tag发布时间:October 28, 2018 // 分类: // No Comments 取完整: git clone https://github.com/a ...