【晨哥的C语言之旅】经典C语言程序100例(1--5)
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。
//题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include <stdio.h>
void result();
main(){
result();
}
void result(){
int i, j, k;
int count,result;
count = 0;
for(i=1; i <= 4; i++){
for(j=1; j <= 4; j++){
for(k =1; k <=4; k++){
if(i != j && i != k && j != k){
result = i*100 + j*10 + k;
count++;
printf("%d\n", result);
}
}
}
}
printf("The number of the results is %d\n",count );
}
3. 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。
1 /*一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数, 2 请问该数是多少? 3 */ 4 #include <stdio.h> 5 #include <math.h> 6 main(){ 7 int i ; 8 for(i = 0;i<100000; i++){ 9 float a1,b1; 10 int a2,b2; 11 a1 = sqrt(i+100); 12 b1 = sqrt(i+268); 13 a2 = (int)a1; 14 b2 = (int)b1; 15 while((a1 - a2 == 0) && (b1 -b2 == 0)){ 16 printf("The number is %d\n",i); 17 break; 18 } 19 20 } 21 }
4.题目:输入某年某月某日,判断这一天是这一年的第几天?
1 /*输入某年某月某日,判断这一天是这一年的第几天? 2 3 */ 4 #include <stdio.h> 5 main(){ 6 int year = 2012; 7 int month = 12; 8 int day = 7; 9 int month1[] = {31,28,31,30,31,30,31,31,30,31,30,31}; 10 int month2[] = {31,29,31,30,31,30,31,31,30,31,30,31}; 11 int result = 0; 12 13 if((year % 4 == 0 && year % 100 !=0) || (year % 400 == 0)){ 14 for(int i = 0; i < month - 1; i++){ 15 result += month1[i]; 16 } 17 result += day; 18 19 }else { 20 for(int i = 0; i < month - 1; i++){ 21 result += month2[i]; 22 } 23 result += day; 24 } 25 printf("It is the %dth day of the year.", result); 26 }

浙公网安备 33010602011771号