第七周作业记录


记录一下第七周作业吧


1.输出平方根

代码示例:

/*从键盘输入一个整数x,输出其平方根(为整数)。若输入数大于1000或小于等于0,则输出0,并继续接受下一个输入直至小于等于1000。(提示:使用求平方根函数sqrt需要包含<math.h>头文件)。*/
//ps:注意sqrt函数的输出
#include<stdio.h>
#include<math.h>
int main()
{int x;scanf("%d", &x);while (x > 1000 || x <= 0){printf("0\n");   //注意写法scanf("%d", &x);}printf("%d", (int)sqrt(x));  //sqrt的返回值是double型,要用%lf输出,或者强制转换成int型return 0;
}

2.输出对应的英文星号

代码示例:

/*从键盘输入3个整数(三个数取值均在闭区间 [1,10] ),
每读取一个值,程序打印出该值个数的英文星号(*)。
(本题意思是可以三个整数都输入再读取,也可以一个一个输)
输入:3个整数,3行。
输出:3行星号*/#include<stdio.h>
int main()
{int a, count = 3;  //用count控制输入次数位3while(count>0){scanf("%d", &a);while(a > 10 || a < 1) {printf("输入数取值不在[1,10]区间,请重新输入:");scanf("%d", &a);}for (int i = 1; i <= a; i++) printf("*");printf("\n");   //注意不要打到输出*的位置上去count--;}return 0;
}

3.编写程序完成数据的加密

代码示例:

/*某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
1. 每位数字都用自身加5后的和除以10的余数代替,如1用6代替,8用3代替;如3768就转换为8213;
2. 再将第一步生成的数字的第一位和第四位交换,第二位和第三位交换。 如8213转换为3128,即为最终的加密密码。
编写程序完成数据的加密。输入:一个整数。输出:一个整数。
*/
#include<stdio.h>
int main()
{int num, ge, shi, bai, qian;scanf("%d", &num);//先分离各位数qian = num / 1000;bai = num % 1000 / 100;shi = num % 1000 % 100 / 10;ge = num % 10 //计算各位数qian = (qian + 5) % 10;bai = (bai + 5) % 10;shi = (shi + 5) % 10;ge = (ge + 5) % 10;//交换输出printf("%d", ge * 1000 + shi * 100 + bai * 10 + qian);return 0;
}
/*我们练习一下函数的使用
#include<stdio.h>
#include<math.h>
int encrypt(int p)
{int sum = 0;for (int i = 0; i <= 3; i++)sum = (p / (int)pow(10, i) % 10 + 5) % 10 * (int)pow(10, i) + sum;sum = sum / 1000 + sum % 10 * 1000 + sum / 10 % 10 * 100 + sum / 100 % 10 * 10;return sum;
}
int main()
{int num;scanf("%d", &num);printf("%d", encrypt(num));return 0;
}*/

4.找出m到n之间的所有同构数

代码示例:

/*找出整数m到整数n (闭区间)之间的所有同构数(m<n)。说明:一个正整数x,如果是它平方数的尾部,则称x为同构数。例如,6是其平方数36的尾部,25是其平方数625的尾部,那么6和25都是同构数。
输入:m和n两个正整数,用空格分隔。
输出:连续输出同构数,数据间用空格分隔(最后一个同构数后面无空格)。*/
/*
* 要点:1.判断一个整数n位数w的方法,w=(int)log10(abs(n))+1;
*       2.输出一连串数,取消最后一个空格的方法:把每次输出完打印空格改成输出前打印空格(第一个除外)
*        int space=0;if(space!=0)printf();space++;
*       3.用差取余判断同构数
*/
#include<stdio.h>
#include<math.h>
int main()
{int m, n,space=0;
//输入判断区间scanf("%d %d", &m, &n);for (int i = m; i <= n; i++){//判断所求数字位数wint w;w = (int)log10(i) + 1;//用取余的方法判断是不是同构数int temp;temp = (i * i - i) % ((int)pow(10, w));
//输出同构数     if (temp == 0){if (space != 0)printf(" ");printf("%d", i);space++;}else continue;}return 0;
}

5.判断任意一个正整数各位数字之和是奇数还是偶数

代码示例:

/*编程判断任意一个正整数各位数字之和是奇数还是偶数。
如果和是奇数输出1,偶数输出0。*/#include<stdio.h>
int main()
{int num, sum = 0;scanf("%d", &num);while(num)     //while(x)意思是x不等于0;while(!x)意思是x等于0{sum = sum + num % 10;num = num /10;}printf("%d", sum % 2? 1 : 0);return 0;
}

6.求级数前n项的和

代码示例:

/*编程求以下级数前n项之和:s=1-1/3+1/5-1/7+1/9-1/11+1/13-1/15+.....输入:一个正整数n
输出:前n项和的值*/
#include<stdio.h>
#include<math.h>int main() {int n;
float sum = 0;     //注意输出的数是小数而非整形
scanf("%d", &n);
for (int i = 1; i <= n; i++)sum = sum + (pow(-1, i - 1)) / (2*i - 1);  //这里不用强制转化,因为pow就不是整形
printf("%f", sum);
return 0;
}

7.找出给定范围内是7的倍数或带7的全部正整数

代码示例:

/*编写程序,找出[m,n]范围内是7的倍数或带7的全部正整数。
其中,m和n为正整数。样例输入:
1 20
样例输出:
7是7的倍数
7是带7的数
14是7的倍数
17是带7的数*/
#include<stdio.h>
int main()
{int m, n;scanf("%d %d", &m, &n);for (int i = m; i <= n;i++){int temp=i ;      //为了不让i被修改,设一个变量操作if (i % 7 == 0)printf("%d是7的倍数\n", i);while (temp){if (temp % 10 == 7){printf("%d是带7的数\n", i);break;}temp = temp / 10;}}return 0;
}

8.求勾股数

代码示例:

/*若三个正整数a,b,c满足 a^2+b^2=c^2,则它们是一组勾股数。(^2表示平方,a^表示a的平方)。
编写程序,求给定区间[m,n]中的勾股数的数量(设一组勾股数满足a<b<c)。
例如[1,10]中的勾股数有(3,4,5)和(6,8,10),则[1,10]中勾股数的数量为2。输入:正整数m,n,   空格分隔
输出:[m,n]中的勾股数的数量*/
#include<stdio.h>
#include<math.h>
int main()
{int m, n,count=0;scanf("%d %d", &m, &n);for (int a = m; a <= n - 2; a++)  //把a定为最小的,再找b{for (int b = a + 1; b <= n - 1; b++)    //把b定位中间的数,它一定比a大,再找c{for (int c = (int)sqrt(2 * a * b); c <= n; c++)   //因为a*a+b*b>2ab,所以c从sqrt(2ab)开始选{if (a * a + b * b == c * c) count++;}}}printf("%d", count);return 0;
}

9.计算一个正整数各位数字的平方和

代码示例:

/*输入任意一个正整数,计算各位数字的平方和。
如:1234 则:计算1*1+2*2+3*3+4*4=30
输入:一个正整数
输出:平方和*/
#include<stdio.h>
int f(int x)
{int sum=0;while (x){sum = sum + (x % 10) * (x % 10);x = x / 10;}return sum;
}
int main()
{int num;scanf("%d", &num);printf("%d", f(num));return 0;
}

10.检验由三边能否构成三角形

代码示例:

/*编写程序检验由三边能否构成三角形,检验方法是任意两边和均要大于第三边。输入:三边长度
输出:如果可以构成三角形,输出YES,否则输出ERROR DATA*/
//练习一下函数
#include<stdio.h>
void judge(float a, float b, float c)
{if (a + b > c && a + c > b && b + c > a)printf("YES");else printf("ERROR DATA");
}
int main()
{float x, y, z;scanf("%f %f %f", &x, &y, &z);judge(x, y, z);return 0;
}

总结

总结几个小问题:
1.sqrt,pow的返回值是double型,要用%lf输出,或者强制转换成int型,用%d输出。
2.判断一个整数n位数w的方法,w=(int)log10(abs(n))+1;
3.输出一连串数,取消最后一个空格的方法:把每次输出完打印空格改成输出前打印空格(第一个除外)
int space=0;if(space!=0)printf();space++;
4.用求差取余判断同构数的方法
5.x%2是判断x是否为奇数,相当于x%2!=0,x%2==0是判断是否为偶数;
while(x)是x!=0的时候,while(!x)是x=0时候
继续加油!^o^/

大计基作业记录(2)相关推荐

  1. 大计基作业记录(3)

    第八周作业记录 记录一下第八周作业. 1.统计整数个数 代码示例 /*输入若干个整数,其值在0至4的范围内,用-1作为输入结束的标志,统计每个整数的个数.输入:[0,4]内的整数组成的序列,最后是-1 ...

  2. 大计基作业记录(4)

    第九周作业记录 q(≧▽≦q). 1.判断一个正整数是否为回文数 代码示例 /*编写一个函数来判断一个正整数是否为回文数,若是则返回1,否则返回0.所谓回文数是指各位数字左右对称的数,例如1221.3 ...

  3. 大计基作业记录(5)

    第十周作业记录 (._.) 1.数组循环移动 代码示例 /*设数组A中存有n(n>0)个整数,在不允许使用另外数组的前提下,将A中的每个整数循环右移m(m>=0)个位置.即:将A中的数据由 ...

  4. 大计基作业记录(1)

    第六周作业记录 学了c语言一段时间了,临近期末再回头看做过的题,还是充满感慨的,就浅记一下这学期做过的练习吧.(编程新手,如有错误还请指出(✿◡‿◡)) 1.编写程序完成对应数的输出 代码示例: // ...

  5. C语言实现大计基作业之某种图灵机

    大计基作业中有这么一道题: 答案是D项. 那么如何实现这个图灵机的功能呢? 首先想到需要创建一个不定长度的数组.实际上,如果让用户输入字符串的长度,再输入字符串,就没有什么意义了,所以才想到找个办法根 ...

  6. XJTU大计基作业-1(第7周)

    -11.请输入一个不含0的8位的十进制整数,编写程序取出该整数的中间4位数,分别输出取出的这4位数以及该4位数加上1024的得数. 输入:一个整数. 输出:两个整数,用空格分隔. #define _C ...

  7. XJTU大计基作业-5(第11周)

    //设数组A中存有n(n > 0)个整数, // 在不允许使用另外数组的前提下, // 将A中的每个整数循环右移m(m >= 0)个位置. // 即:将A中的数据由(A0A1--An - ...

  8. XJTU大计基作业第13周

    //编写一个程序,读入n个用户姓名和电话号码, // 按姓名的字典顺序排列后, // 输出用户的姓名和电话号码,n从键盘输入. // //样例: // //输入: // //3 // //张 122 ...

  9. XJTU大计基第九周编程作业

    第四次大计基作业 题目描述: 编写程序将4个字符构成的字符串用替换加密法编码为密文,其中加密规则是:将原来的字母用字母表中其后的第3个字母替换.注意,最后3个字符用前3个替换,如x用a替换. 输入输出 ...

最新文章

  1. HttpWebRequest下载文件,乱码问题解决方案
  2. 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )
  3. 透过源码看Session
  4. C#+uploadify3.1上传示例,可使用中文按钮
  5. 马云都退休20天了,2019年剩下不到100天了:你还没掌握Python 编程思维吗?
  6. 如何调整自定义标签样式
  7. 怎么让sql查询的字段可以不出现在group分组里_在工作中常用到的SQL
  8. 以普通用户启动的Vim如何保存需要root权限的文件
  9. 隐藏的图片在浏览器中的请求
  10. Oracle online系列(上):Online Move Datafile
  11. python实现购物车总结_python3简单购物车实现
  12. 02-最基本的SELECT语句
  13. 西门子系列PLC教学视频资源1——S7-200和S7-200smart
  14. Android-入门教程-内部存储/外部存储-概览
  15. Zoom支持自动生成字幕;SharePlay上线;Safari 更新导致大量bug |WebRTC风向
  16. Xposed框架安装步骤
  17. 绑定变量窥视_窥视量子计算与密码学
  18. JS手机触摸屏的事件用法详解
  19. 2020年厦门市技能大赛-网络搭建与应用竞赛-正式赛卷(一)技能要求(附脚本配置)
  20. android软键盘弹出黑屏

热门文章

  1. Mac 系统中各个文件夹详细介绍
  2. DevExpress WinForms帮助文档:表单控件 - Taskbar Assistant
  3. C++学习(四四三)Android手机支持的opengl特性
  4. HDMI学习-2:HDMI传输原理
  5. 直播带货用什么成交话术可以提高销量
  6. 入门DP | 2:租用游艇问题
  7. 易客 给脸不要脸,那我只好开扒图片了
  8. 电脑关机同步服务器信息,电脑关机云服务器会关吗
  9. 机器人工程专业的教育与考核
  10. php熊掌号api,thinkphp5.1如何实现熊掌号资源API提交功能?