第七周作业记录


记录一下第七周作业吧


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. php 换行替换成p,php 换行如何替换
  2. ubuntu 启动时 设置多个ip 修改mac 网关 。。。
  3. 零基础学Python-爬虫-5、下载音频
  4. 图解PostgreSQL进程结构和内存结构
  5. 拓步机器人联网说明书_科沃斯IPO聚焦三大战略 谋划转型互联网生态企业
  6. IdentityServer Topics(6)- Windows身份验证
  7. 前端日拱一卒D5——web安全基础
  8. 软件工程专业学python_笨办法学Python(0)
  9. 全球及中国分布式光纤传感(DFOS)行业动态及十四五前景预测报告2022-2027
  10. winrar分卷压缩_无广告的WinRAR解压软件
  11. 鸡兔同笼(C语言实现)
  12. 【机器学习】左逆、右逆、伪逆和广义逆的概念理解
  13. html隐藏域倒计时,一个网页倒计时的实现
  14. MTK6577+Android之GPIO驱动简介
  15. oa系统需要的服务器配置,oa办公系统需要服务器配置
  16. 培训python开发 骗局
  17. 一年当中几月份买车最合适?什么时候最便宜?
  18. latex怎样让题号顶格_latex proof顶格
  19. PyQt5教程(一)
  20. 大数据开发要学习什么

热门文章

  1. 一步一步入门机器学习之二:有趣的机器学习
  2. 技术转移、科技成果转移与科技成果转化是什么关系?
  3. MQTT协议之 Apache Apollo服务搭建
  4. 设计模式学习笔记(三)工厂模式中的简单工厂、工厂方法和抽象工厂模式之间的区别
  5. Click软件路由器实验
  6. rk3399调试camera
  7. Bitpay宣布支持BCH付款,助推BCH支付布局
  8. 区块链食品溯源技术,做好公众安全监督员
  9. 算法导论-求x的n次方
  10. MAC显示/恢复隐藏文件