博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
白书若干题
阅读量:4957 次
发布时间:2019-06-12

本文共 2631 字,大约阅读时间需要 8 分钟。

1. P32(排列) 

  用1、2、3、…、9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出所有解。

int i,j,k;for(i=123; i<=987/3; i++){    j = 2*i;    k = 3*i;    //然后判断ijk是否满足条件(1到9不重不漏)    } next_permutation等全部重拍,然后判断是否满足比例关系。

2. P50(乘积的末三位)

  如题:输入若干个整数(可以是正数、负数或者零),输出它们的乘积的末三位。这些整数中会混入一些由大些字母组成的字符串,你的程序应当忽略他们。

  下面的我写的,没有处理正负号。

1 #include 
2 #include
3 #include
4 using namespace std; 5 6 int solve(char *str) 7 { 8 int len = strlen(str); 9 int ans = 0;//不是1 10 int res = 1;11 for(int i=0; i

3. P50(计算器)

 编写程序,读入一行恰好包含一个加号、减号或乘号的表达式,输出它的值。这个运算符保证是二元运算符,且两个运算数均为不超过100的非负整数。运算数和运算符可以紧挨着,也可以用一个或多个空格、Tab隔开。行首末尾均可以有空格。

View Code
1 //实际上可以直接用一般方法,扫描  2 //错误  3 #include 
4 #include
5 #include
6 #include
7 using namespace std; 8 9 int main()10 {11 char str[20];12 int a,b;13 char ch;14 memset(str,0,sizeof(str));15 fgets(str,20,stdin);16 sscanf(str,"%d%[+-*]%d",&a,&ch,&b);//不知道为什么错 17 cout<
<
<
1 #include 
2 using namespace std; 3 4 int main() 5 { 6 int a, b; 7 char oper; 8 cin >> a; 9 //cin.get()是保留回车在输入流队列中的.而cin是丢弃回车的.10 do{11 //ch=cin.get(); //或者cin.get(ch);12 cin.get(oper); // 这题只要灵活运用 istream &get( char &ch );13 }while(!('+' == oper || '-' == oper || '*' == oper) );14 cin >> b;15 if('+' == oper){16 cout << a + b << endl;17 }18 else if('-' == oper){19 cout << a - b << endl;20 }21 else{ // *22 cout << a * b << endl;23 }24 return 0;25 }

4. P50(手机键盘)

  采用二维数组或者一维数组,采用一位数组的话存储第一个字母 。

5. P67(解方程组)

  编写一个 函数solve,给定浮点数a, b, c, d, e, f,求解方程组af + by = c, dx + ey = f。

  任务1:使用assert宏,让解不唯一时异常退出。  

assert(b*d!=a*e);

  任务2:解不唯一时仍然正常返回,但调用者有办法知道解的数量(无解、唯一解、无穷多组解)。

View Code
1 #include
2 #include
3 using namespace std; 4 5 double x, y; 6 int solve(double a, double b, double c, double d, double e, double f) 7 { 8 if(b*d==a*e) 9 return 0;10 y = (c*d-a*f)/(b*d-a*e);11 x = (c-b*y)/a;12 return 1;13 }14 int main()15 {16 double a, b, c, d, e, f;17 cout << "Please input some values!" << endl;18 while(cin >> a >> b >> c >> d >> e >> f)19 {20 if(!solve(a, b, c, d, e, f))21 cout << "无穷多解!!" << endl;22 else23 cout << x << " " << y << endl;24 }25 return 0;26 }

6.

 

转载于:https://www.cnblogs.com/hxsyl/archive/2013/03/25/2981627.html

你可能感兴趣的文章
sscanf在字符串中的一些使用
查看>>
[转]new一个Object对象占用多少内存?
查看>>
一步步教你Hadoop多节点集群安装配置
查看>>
JS_轮播案例
查看>>
【转】STM32 - 程序跳转、中断、开关总中断
查看>>
== & ===
查看>>
详解C#中的反射
查看>>
给java初学发者的一些建议,并对自身一年做一个总结。
查看>>
Android开发:Android虚拟机启动错误Can't find 'Linux version ' string in kernel image file
查看>>
2016.03.20
查看>>
href=#与href=javascriptvoid(0)的区别
查看>>
String 转化成java.sql.Date和java.sql.Time
查看>>
探寻读取文件的最快方法
查看>>
转:Eclipse中安装配置VSS
查看>>
[转]async & await 的前世今生(Updated)
查看>>
PostgreSQL本地化
查看>>
F: CET-4
查看>>
菜鸟对APP界面设计的一些心得小结
查看>>
nyoj 1208——水题系列——————【dp】
查看>>
ssh
查看>>