【c语言】c语言常见编程题总结(一)

来源:互联网 发布:看日漫用什么软件 编辑:程序博客网 时间:2024/04/30 13:58
/*10.交换两个整数的值(传址)传值调用不能改变两个变量的值,而传址能;因为,传值调用仅仅是在函数内,调换参数的值,而地址所指向的值,改变的不仅是函数内,函数外也改变。#include <stdio.h>void swap(int *x,int *y){int temp;temp =*x;*x=*y;*y=temp;}int main(){int x=1;int y=6;swap(&x,&y);printf("x=%d,y=%d\n",x,y);return 0;}*//*9.不创建临时变量交换两个数的值//加减#include <stdio.h>int main(){int a,b;printf("请输入两个数:");scanf("%d,%d",&a,&b);a=b+a;b=a-b;a=a-b;printf("a=%d,b=%d\n",a,b);return 0;}//异或#include <stdio.h>int main(){int a,b;printf("请输入两个数:");scanf("%d,%d",&a,&b);a=a^b;b=b^a;a=a^b;printf("a=%d,b=%d\n",a,b);return 0;}*//*7.用辗转相除法求两个整数的最大公约数   8.求两个整数的最小公倍数  辗转相除法(自然语言描述):  a和b(a>=b),求最大公约数hcf(a,b);  当a%b=0时,hcf(a,b)=b,否则  hcf(a,b)=hcf(b,a%b);  递归或循环得出结果;#include <stdio.h>int main(){int hcf(int,int);int lcd(int,int,int);int u,v,h,l;scanf("%d,%d",&u,&v);h=hcf(u,v);printf("HCF=%d\n",h);l=lcd(u,v,h);printf("LCD=%d\n",l);return 0;}int hcf(int u,int v){int t,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return v;}int lcd(int u,int v,int h){return (u*v/h);}*//*6.求1-100之间的素数#include <stdio.h>int main(){int n,i;for(n=1;n<=100;n++){for(i=2;i<=sqrt(n);i++){if(n%i==0)break;}if(i>sqrt(n)){printf("%3d",n);}}printf("\n");return 0;}*//*5.求10个整数中的最大值#include <stdio.h>int main(){  int a[10];int i,j,max;printf("请输入10个数:\n");for(i=0;i<10;i++){scanf("%d",&a[i]);}max=a[0];for(j=0;j<10;j++){if(max<a[j]){max=a[j];}}printf("max=%d\n",max);return 0;}*//*4.分支判断,求两个整数的较大值#include <stdio.h>int main(){int a,b,max;printf("请输入了两个数:");scanf("%d,%d",&a,&b);if(a>b){max=a;}else{max=b;}printf("max=%d\n",max);return 0;}*//*3.在屏幕上打印9*9乘法口诀表#include <stdio.h>int main(){int i,j;for(j=1;j<10;j++){for(i=1;i<10;i++){if(i<=j){printf("%d*%d=%d\t",i,j,i*j);}}printf("\n");}return 0;}*//*2.计算1,2,3,4,...100这100个整数的和#include <stdio.h>int main(){int i;int sum=0;for(i=1;i<=100;i++){sum=sum+i;}printf("sum=%d\n",sum);return 0;}*//*1.在屏幕上输出“hello world”#include <stdio.h>int main(){printf("hello world\n");return 0;}*/

0 0