经典C语言例题之Linux
来源:互联网 发布:北京大数据培训班 编辑:程序博客网 时间:2024/06/05 22:48
#include<stdio.h>/***********************************************不使用中间变量,将两个整数的值交换* int a b;* a=a+b;* b=a-b;* a=a-b;*此答案未考虑到溢出的问题**********************************************int 正数的最大值 2^32-1*补码: 正数的补码是起本身,负数的补码:绝对值的源码取反+1*有符号:最高位是符号位 1:负数 0:正数* a=a^b;* b=a^b;* a=a^b;*/int main(int argc ,char *argv[]){ int a,b; scanf("%d %d",&a,&b); a=a+b; b=a-b; a=a-b; printf("%d, %d\n",a,b);}
#include<stdio.h>#include<math.h>#define N 100/**********************************************质数/素数:除了1和本身以外不能被别的数所整除*求1-100以内所有的素数**********************************************/int main(int argc,int argv[]){ int i,j; //int count=1;//计数 for(i=3;i<=N;i=i+2) { for(j=3;j<=(i/2);j+=2) { if((i%j) == 0) { break; } } if(j>=i/2) { printf(" %d",i); } //if(i%5==0) //printf("\n"); } printf("\n");}
#include<stdio.h>#include<math.h>#define N 999/************************************************************** 求100-999之间的所有水仙花数* 153=1^3+5^3+3^3* 某个数=个数的立方+十位的立方+百位的立方* 重点:求一个3位数的个位 十位 百位*************************************************************///int accum(int n);int calculate(const int i);int main(int argc, char argv[]){ //int uint,decade,hundreds;//uint:个位 decade:十位 hundreds:百位 int count=0,i; for( i=100;i<=N;i++) { int temp=calculate(i); if(temp==i) { printf("%5d",i); count++; } //if(count%5==0) //printf("\n"); } printf("\n");}/*********************************** 数的累积**********************************/int accum(int n){ return n*n*n;}/*********************************** 数的个位 十位 百位**********************************/int calculate(const int i){ int ones,decade,hundreds; //ones:个位 decade:十位 hundreds:百位 ones=i%100%10; //个位 decade=i/10%10; //十位 hundreds=i/100; //百位 int sum=0; sum=ones*ones*ones+decade*decade*decade+hundreds*hundreds*hundreds; //return accum(ones)+accum(decade)+accum(hundreds); return sum;}
#include<stdio.h>/**************************************************** 求1000以内的所有的完数* 完数=所有的因子的和(不包括本身)* 6=1+2+3***************************************************/int main(int argc,char argv[]){ int i,j,sum; for(i=2;i<=1000;i++) { sum =0; for(j=1;j<i/2+1;j++) { if(i%j==0) { sum=sum+j; } } if(sum==i) { printf("%d ",i); } } printf("\n");}
阅读全文
0 0
- 经典C语言例题之Linux
- C 语言经典例题
- c语言经典例题
- C语言运用 经典例题
- 【C语言经典例题//1//】
- 【C语言经典例题//2//】
- 【C语言经典例题//3//】
- 【C语言经典例题//4//】
- C语言经典初级例题
- c语言经典例题2
- c语言经典例题3
- c语言经典例题5
- c语言经典例题6
- c语言经典例题100例
- C语言经典例题:素数判断
- C语言的经典设计例题
- C语言经典例题及答案1
- C语言经典例题及答案2
- 选择排序
- 旋转图像
- TCP的三次握手与四次挥手
- STM32高效编程
- Python-模块和包.深入Celery之Beat触发定时/周期性任务
- 经典C语言例题之Linux
- saprk 核心组件总结
- 黑盒测试方法二 (边界值分析)
- 【0002】为电脑重装win10后桌面只有【回收站】,如何添加【我的电脑】快捷方式?
- 自动生成一组新闻
- (七)Tensorflow学习之旅——理解dropout
- SOJ 4190. Prime Palindromes solution
- 区间价值 HihoCoder
- 大数据可视决策的行业应用