大计基作业记录(2)
第七周作业记录
记录一下第七周作业吧
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)相关推荐
- 大计基作业记录(3)
第八周作业记录 记录一下第八周作业. 1.统计整数个数 代码示例 /*输入若干个整数,其值在0至4的范围内,用-1作为输入结束的标志,统计每个整数的个数.输入:[0,4]内的整数组成的序列,最后是-1 ...
- 大计基作业记录(4)
第九周作业记录 q(≧▽≦q). 1.判断一个正整数是否为回文数 代码示例 /*编写一个函数来判断一个正整数是否为回文数,若是则返回1,否则返回0.所谓回文数是指各位数字左右对称的数,例如1221.3 ...
- 大计基作业记录(5)
第十周作业记录 (._.) 1.数组循环移动 代码示例 /*设数组A中存有n(n>0)个整数,在不允许使用另外数组的前提下,将A中的每个整数循环右移m(m>=0)个位置.即:将A中的数据由 ...
- 大计基作业记录(1)
第六周作业记录 学了c语言一段时间了,临近期末再回头看做过的题,还是充满感慨的,就浅记一下这学期做过的练习吧.(编程新手,如有错误还请指出(✿◡‿◡)) 1.编写程序完成对应数的输出 代码示例: // ...
- C语言实现大计基作业之某种图灵机
大计基作业中有这么一道题: 答案是D项. 那么如何实现这个图灵机的功能呢? 首先想到需要创建一个不定长度的数组.实际上,如果让用户输入字符串的长度,再输入字符串,就没有什么意义了,所以才想到找个办法根 ...
- XJTU大计基作业-1(第7周)
-11.请输入一个不含0的8位的十进制整数,编写程序取出该整数的中间4位数,分别输出取出的这4位数以及该4位数加上1024的得数. 输入:一个整数. 输出:两个整数,用空格分隔. #define _C ...
- XJTU大计基作业-5(第11周)
//设数组A中存有n(n > 0)个整数, // 在不允许使用另外数组的前提下, // 将A中的每个整数循环右移m(m >= 0)个位置. // 即:将A中的数据由(A0A1--An - ...
- XJTU大计基作业第13周
//编写一个程序,读入n个用户姓名和电话号码, // 按姓名的字典顺序排列后, // 输出用户的姓名和电话号码,n从键盘输入. // //样例: // //输入: // //3 // //张 122 ...
- XJTU大计基第九周编程作业
第四次大计基作业 题目描述: 编写程序将4个字符构成的字符串用替换加密法编码为密文,其中加密规则是:将原来的字母用字母表中其后的第3个字母替换.注意,最后3个字符用前3个替换,如x用a替换. 输入输出 ...
最新文章
- HttpWebRequest下载文件,乱码问题解决方案
- 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )
- 透过源码看Session
- C#+uploadify3.1上传示例,可使用中文按钮
- 马云都退休20天了,2019年剩下不到100天了:你还没掌握Python 编程思维吗?
- 如何调整自定义标签样式
- 怎么让sql查询的字段可以不出现在group分组里_在工作中常用到的SQL
- 以普通用户启动的Vim如何保存需要root权限的文件
- 隐藏的图片在浏览器中的请求
- Oracle online系列(上):Online Move Datafile
- python实现购物车总结_python3简单购物车实现
- 02-最基本的SELECT语句
- 西门子系列PLC教学视频资源1——S7-200和S7-200smart
- Android-入门教程-内部存储/外部存储-概览
- Zoom支持自动生成字幕;SharePlay上线;Safari 更新导致大量bug |WebRTC风向
- Xposed框架安装步骤
- 绑定变量窥视_窥视量子计算与密码学
- JS手机触摸屏的事件用法详解
- 2020年厦门市技能大赛-网络搭建与应用竞赛-正式赛卷(一)技能要求(附脚本配置)
- android软键盘弹出黑屏