#include<stdio.h>intmain(){int a =5;int b =133;printf("a is %d, b is %d.\n", a,b);int c = a;
a = b;
b = c;printf("now, a is %d, b is %d.\n", a,b);return0;}
在不创建第三个变量的情况下,交换两个变量的值。
#include<stdio.h>intmain(){int a =0;int b =4;printf("a is %d, b is %d.\n", a,b);
a = b-a;//将b与a的差赋给a
b = b-a;//通过b-差,将原本a的值赋给b
a = b+a;//通过a+b,即差+a,将原本b的值赋给aprintf("now, a is %d, b is %d.\n", a,b);return0;}
求10 个整数中最大值。
#include<stdio.h>intmain(){int arr[10]={2,4,3567,65,34,789,23,1,3,10};int i =0;//使i一直为目前最大数int j =1;while(j <=9){if(arr[i]> arr [j])
j +=1;if(arr[i]< arr[j]){
i = j;
j +=1;}else//两数相同{
j +=1;}}printf("the largest number is %d.\n",arr[i]);return0;}
将三个数按从大到小输出。(以数组的形式对比)
#include<stdio.h>intmain(){int arr[3]={3,7,1};int i =0;int temp =0;while(i <=1)//compare two consecutive element{if(arr[i]< arr[i+1]){
temp = arr[i];
arr[i]= arr[i+1];
arr[i+1]= temp;
i +=1;}else
i +=1;}int n =0;while(n <=2){printf("%d,",arr[n]);
n +=1;}return0;}
求两个数的最大公约数。(用到了按位或和取模)
#include<stdio.h>intmain(){int a =0;int b =0;int max =0;int min =0;int i =1;int c,d;printf("please enter 2 number.\nNumber 1>:");scanf("%d",&a);printf("Number 2>:");scanf("%d",&b);if(a > b)//找两数中最大/最小,分别赋给min和max{
max = a;
min = b;}else{
max = b;
min = a;}
i = min;while(i >=1)//看余数是否为零{
c = min%i;//%取模
d = max%i;if((c | d)!=0)//任意一个为非0则继续循环。|:按位或
i -=1;elsebreak;}printf("the MCF of %d and %d is %d.\n",a,b,i);return0;}
【C语言】DAY02给定两个整形变量的值,将两个值的内容进行交换。#include <stdio.h>int main(){ int a = 5; int b = 133; printf("a is %d, b is %d.\n", a,b); int c = a; a = b; b = c; printf("now, a is %d, b is %d.\n", a,b); return 0;}在不创建第三个变量