C语言/C++常见习题问答集锦(四十三) 之持之以恒

程序之美

1、C语言计算1-1/3+1/5-1/7+1…+1/101

#include<stdio.h>
int main(){int flag = 1;int i ;double result = 0.0;for(i = 0;i <= 50;i ++){result+=1/(double)(2*i + 1)*flag;flag = -flag;}printf("%f\n",result);return 0;
}

运行结果为:

2、给定一个n(n<=100),请打印一个如下n * n纠结矩阵,想象一个小朋友从(1,1)出发,然后按照如下图给的方式不断的走下去。
每走到一个点都要给这个点标号,依次标号为1、2、…n*n,例如下图给出了n=5和n=6的情况。
打印如下形式的矩阵;
n=5:
1 2 9 10 25
4 3 8 11 24
5 6 7 12 23
16 15 14 13 22
17 18 19 20 21
n=6:
1 2 9 10 25 26
4 3 8 11 24 27
5 6 7 12 23 28
16 15 14 13 22 29
17 18 19 20 21 30

36 35 34 33 32 31

分析:
先申请一个(n+1)^2的二维数组,然后按照先放行再放列的,或者先放列后放行的顺序(有个顺序标志flag)填充数组一个大循环(1~~n)里面套四个小循环就可以了。
C语言版:

#include<stdio.h>void printMatrix(int n);int main()
{printMatrix(5);system("pause");return 0;
}void printMatrix(int n){if(n < 1)return;else{int i ,j;for(i = 1;i <=n;i++){for(j = 1;j <= n;j++){int num;if(j > i){if(j%2)num = j*j + 1 -i;elsenum = (j-1)*(j-1)+i;printf("%d ",num);}else{if(i%2)num = (i-1)*(i-1)+j;elsenum = i*i + 1 - j;printf("%d ",num); }}printf("\n");}}
}

运行结果为:

JAVA版:

public class PrintRect {private int[][] array;private int n;public PrintRect(int n) {this.n = n;array = new int[n][n];}public void init() {array[0][0] = 1;for (int i = 2; i <= n; i++) {int start = (i - 1) * (i - 1) + 1;if (i % 2 == 0) {for (int j = 0; j < i; j++) {array[j][i - 1] = start;start++;}for (int j = i - 2; j >= 0; j--) {array[i - 1][j] = start;start++;}} else {for (int j = 0; j < i; j++) {array[i - 1][j] = start;start++;}for (int j = i - 2; j >= 0; j--) {array[j][i - 1] = start;start++;}}}}public void print() {for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {System.out.print(array[i][j] + "\t");}System.out.println();}}public static void main(String[] args) {PrintRect pr = new PrintRect(6);pr.init();pr.print();}}

3、运用C语言建立二维数组产生随机数然后以(x,y)输出

#include <stdio.h>#include <stdlib.h> #include <time.h>
int main(){  int i,j,x,y;printf("输入随机数取值范围:\n");scanf("%d",&x);int a[x][2];srand(time(0));/*随机数种子*/ y=x+1;for ( i=0;i<y;i++)for ( j=0;j<2;j++){a[i][j]=0+rand()%y;/*产生0到y之间的随机数*/ }for ( i=0;i<y;i++){ i=0+rand()%y;for ( j=0;j<2;j++){
j=0+rand()%y;           } printf("(%d,%d)\n ",i,j);
}
getchar();
return 0;
}

C语言/C++常见习题问答集锦(四十三) 之持之以恒相关推荐

  1. C语言/C++常见习题问答集锦(四十) 之分门别类

    C语言/C++常见习题问答集锦(四十) 之分门别类 程序之美 1.编写一个count函数,统计下输入的字符串中"."(句号)的个数,并进行输出. int count(char* p ...

  2. C语言/C++常见习题问答集锦(三十三)之人民币兑换

    C语言/C++常见习题问答集锦(三十三)之人民币兑换 程序之美 1.将一元钱换成1分,2分和5分硬币,每种硬币的个数大于0,且为5的倍数,编写程序并计算几种换法 C++: #include <i ...

  3. C语言/C++常见习题问答集锦[八十三]之数据结构顺序表(operand types are error: no match for “operator==“)

    C语言/C++常见习题问答集锦[八十三]之数据结构顺序表{operand types are error: no match for "operator=="} 程序之美 前言 主 ...

  4. C语言/C++常见习题问答集锦(六十四) 之兔子繁殖(递归与非递归)

    C语言/C++常见习题问答集锦(六十四) 之兔子繁殖(递归与非递归) 程序之美 1.C语言,计算1乘以3×5*-乘n的积,并输出结果,n值由键盘接收. #include<stdio.h>v ...

  5. C语言/C++常见习题问答集锦(七十四) 之裨补阙漏

    C语言/C++常见习题问答集锦(七十四) 之裨补阙漏 程序之美 1.编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址.(注意: 主函数中用****作为结束输入的标 ...

  6. C语言/C++常见习题问答集锦之哆啦A梦

    C语言/C++常见习题问答集锦之哆啦A梦 程序之美 前言 主体 运行效果 代码示例 逻辑分析 初始化 绘制流程 资源释放 结束语 程序之美 前言 还记得儿时的哆啦A梦(机器猫)么?每逢周末,就会急匆匆 ...

  7. C语言/C++常见习题问答集锦(五十二) 之职工信息管理系统

    C语言/C++常见习题问答集锦(五十二) 之职工信息管理系统 程序之美 用C语言,职工信息管理系统具体要求 1.基本信息:如工号.姓名.性别.年龄.学历.住址.电话号码.工资等. 2.各职工信息用结构 ...

  8. C语言/C++常见习题问答集锦(七十六)之玫瑰花寄语

    C语言/C++常见习题问答集锦(七十六)之玫瑰花寄语 程序之美 在古希腊神话中,玫瑰花集爱与美于一身,既是美神的化身,又溶进了爱神的血液.可以说,在世界范围内,玫瑰是用来表达爱情的通用语言,形成了永不 ...

  9. C语言/C++常见习题问答集锦(八十一)之学生信息与排序

    C语言/C++常见习题问答集锦(八十一)之学生信息与排序 程序之美 1.下面主函数调用函数SortString()按奥运会参赛国国名在字典中的顺序对其入场次序进行排序 #include <std ...

最新文章

  1. 反激qr工作原理_锂电池均衡电路的工作原理
  2. sentinel里的双检锁
  3. java操作redis的操作_Java操作redis简单示例
  4. 北工大计算机网络基础期末考试,2013北工大计算机网络应用复习提纲整理版.doc...
  5. 社区发现 实践_实践社区可以为您的组织做什么
  6. 序列每天从0开始_序列化、反序列化原理和Protobuf实现机制
  7. cast函数 oracle 日期_从 Oracle 到 PostgreSQL ,某保险公司迁移实践
  8. 基于springboot+vue的毕业论文选题答辩管理系统
  9. 华为手机鸿蒙系统卡吗,鸿蒙到底有多流畅?华为:3年不卡!
  10. 12c及以上参数推荐设置
  11. 【linux】net-speeder减少由于网络距离过远导致的丢包问题
  12. 快速解决Ubuntu缺少各种驱动的方法: 解决ThinkPad T14s没有无线网卡驱动以及WIFI无法连接等驱动问题
  13. 2017-4-15,16_akala啦_新浪博客
  14. 最好的肠道菌群科普记录片
  15. Pygame 实现一个简单画图板
  16. 湘潭2017 ccpc中南地区邀请赛 Determinant 高斯约当求逆矩阵
  17. 面试java项目中解决了什么问题,附源代码
  18. 2020年中国智能物联网(AIoT)白皮书
  19. 后缀以.mmap的文件用什么程序打开啊
  20. 华为HMS Core全面发布,全球开发者的新机会来了!

热门文章

  1. Linux实战技巧--文件系统操作(四)--文本内容查看(cat/head/tail)
  2. 批量登录qq空间,点击推广链接,增加点击量
  3. hdu 1284钱币兑换问题
  4. JavaEE - 集合 - Map集合
  5. VoiceChatter在VS2005上编译方法
  6. 一个与众不同的苹果--苹果产品制胜之道
  7. can和could的用法_can和could情态动词的用法
  8. 计算机各键的名称和作用,space是哪个键键盘各键位名称及功用详解
  9. 【GitHubShare】让你的电脑上全是喵喵,谁又能拒绝可爱呢?
  10. 【时序】基于 TCN 的用于序列建模的通用卷积和循环网络的经验评估