1. 给定两个整形变量的值,将两个值的内容进行交换。 2. 不允许创建临时变量,交换两个数的内容(附加题) 3.求10 个整数中最大值。 4.将三个数按从大到小输出。 5.求两个数的最大公约数
-
给定两个整形变量的值,将两个值的内容进行交换。
#include<stdio.h> int main() { int i = 10; int j = 20; int temp; temp = i; i = j; j = temp; printf("i=%d,j=%d",i,j); printf("\n"); }
-
不允许创建临时变量,交换两个数的内容
// 不允许创建临时变量,交换两个数的内容(附加题)
//算法:利用基本赋值语句完成交换操作#include<stdio.h> int main() { int i = 3; int j = 2; i = i + j;//i=3+2=5 j = i - j;//j=5-2=3 i = i - j;//i=5-3=2 printf("交换后i=%d,j=%d\n", i, j); system("pause"); return 0; }
运行截屏:
3.求10 个整数中最大值
#include <stdio.h>
int main()
{
int a[9]; //数组及其他变量的初始化
int i = 0;
int max = 0;
printf("请输入十个整数:\n");
for (i = 0; i < 10; i++) //通过for循环输入十个整数
{
scanf("%d", &a[i]); //用输入函数从键盘输入十个整数
}
max = a[0]; //假设第一个数是最大的
for (i = 1; i < 10; i++)
{
if (max < a[i])
max = a[i]; //把当前最大值赋给max
}
printf("max=%d\n ", max); //控制格式化输出max
return 0;
}
运行截屏:
4…将三个数按从大到小输出
#include<stdio.h>
#define N 3
int main()
{
int Number[N],i,j,temp;
printf("Please input ten datas:\n");
for(i=0;i<N;i++) //给数组Number赋值
scanf("%d",&Number[i]);
for(i=0;i<N;i++)
for(j=0;j<N-i;j++)
if(Number[j]。Number[j+1])
{
temp=Number[j];
Number[j]=Number[j+1];
Number[j+1]=temp;
}
printf("The result is:\n");
for(i=0;i<N;i++)
printf("%d\t",Number[i]);
}
运行截图:
5.求两个数的最大公约数
#include<stdio.h>
int main()
{
int a,b,c;
printf("输入两个数字求最大公约数:");
scanf("%d%d",&a,&b);
c=(a>b)?b:a; //三目运算符 将最小的赋给c
while(a%c!=0||b%c!=0) //a,b同时能被c整除 不执行该循环
{
c--;
}
printf("最大公约数为:%d\n",c);
}
运行截屏: