C-练习题 (2)

思路:将这10个数存到一个数组里面,从这数组中找到最大的值就ok了。假设数组中第一个元素为最大值max,遍历整个数组跟这个最大值max进行比较,若有更大的值那么就把大的值赋给max。

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //3.求10 个整数中最大值。 int main(){ int arr[10]; int i = 0; printf("请输入10个数,用\",\"隔开:"); for ( i = 0; i < 10; i++) { scanf("%d,",&arr[i]); } int max = arr[0]; for (i = 1; i < 10; i++) { if (arr[i]>max) max = arr[i]; } printf("max=%d\n", max); system("pause"); return 0; } 6.求两个数的最大公约数

题目:求两个数的最大公约数

最大公约数有很多种求法:例如辗转相除法、辗转相减法等等。这次我用的是辗转相除法。方法就是用较大数模较小数得到的余数,然后用较小数模这个余数,以此类推直到余数等于零,那么这时候的较小数就是两数的最大公约数。

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> //求两个数的最大公约数 int main(){ int num1, num2; int temp; printf("请输入两个数:"); loop:scanf("%d,%d", &num1, &num2); if (num2 == 0){ printf("你的输入有误,请重新输入\n"); goto loop; } while (num1%num2 != 0){ //辗转相除法 temp = num1%num2; num1 = num2; num2 = temp; } printf("最大公约数为:%d\n", num2); system("pause"); return 0; }

相同的,最小公倍数乘以最大公约数等于两数之积。

7.1到 100 的所有整数中出现多少次数字9

题目:编写程序数一下 1到 100 的所有整数中出现多少次数字9。

分析:这类题目一定要分步骤来看。个位和十位分别来看,再具体确定判断条件。个位上的9就是9、19 、29、39.....99。模10都等于9;十位上的是90、91、92....99.。注意这把99数了两遍,但是个位数了10位就不会再数了。ok~

#include <stdio.h> #include <stdlib.h> //编写程序数一下 1到 100 的所有整数中出现多少次数字9。 //9,19,29,39.... 90 92 93... int main(){ int count = 0; for (int i = 1; i < 100; i++){ if (i%10 == 9){ //个位有9的数,包括了99 count += 1; } if (i/10 == 9){//十位数有9的数,90~98,99在上面已经数过了。 count += 1; } } printf("出现9的次数为%d次\n", count); system("pause"); return 0; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssxyx.html