求奇数和
本题要求计算给定的一系列正整数中奇数的和。
输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出正整数序列中奇数的和。
输入样例:
8 7 4 3 70 5 6 101 -1
输出样例:
116
1 #include<stdio.h> 2 void sum(void) 3 { 4 int n = 0; 5 int sumn = 0; 6 while(1) 7 { 8 scanf("%d",&n); 9 if(n <= 0) 10 { 11 break; 12 } 13 else if(n % 2 != 0) 14 { 15 sumn += n; 16 } 17 } 18 printf("%d",sumn); 19 } 20 int main(void) 21 { 22 sum(); 23 return 0; 24 }
最大公约数和最小公倍数
本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
输入样例:
511 292
输出样例:
73 2044
1 #include<stdio.h> 2 int pub(int* m,int* n) 3 { 4 int s,r; 5 s = *m; 6 r = *n; 7 if(0<=*m<=1000 && 0<=*n<=1000) 8 { 9 if(*n>*m) 10 { 11 int temp = *m; 12 *m = *n; 13 *n = temp; 14 } 15 while(1) 16 { 17 int k = *m % *n; 18 if(k == 0) 19 { 20 int u = s*r / (*n); 21 printf("%d %d",*n,u); 22 break; 23 } 24 else 25 { 26 *m = *n; 27 *n = k; 28 } 29 } 30 } 31 else 32 { 33 return 0; 34 } 35 } 36 int main(void) 37 { 38 int m,n; 39 scanf("%d %d",&m,&n); 40 pub(&m,&n); 41 return 0; 42 }
统计素数并求和
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
1 #include <stdio.h> 2 int pn(int* m,int* n) 3 { 4 int i = 0; 5 int j = 0; 6 int u = 1; 7 if(*m>*n|| *n>500 || *m<1) 8 { 9 return 0; 10 } 11 else if(*m < *n) 12 { 13 while(*m < *n) 14 { 15 for(int k =2; k<*m; k++) 16 { 17 if(*m % k == 0) 18 { 19 (*m)++; 20 u = 0; 21 break; 22 } 23 else 24 { 25 u = 1; 26 } 27 } 28 if(u == 1) 29 { 30 i++; 31 j= j + *m; 32 (*m)++; 33 /*实际上是因为*m++,是对m储存的值(也*m就是指向值的地址进行了修改,改变了指针指向) 34 而不是对*m指向的地址所储存的值进行修改, 35 而(*m)++才是 对*m指向的地址所储存的值进行修改 36 所有原来我用的*m++*/ 37 } 38 if(*m>*n) 39 { 40 i++; 41 j=j+*m; 42 printf("%d %d",i,j); 43 } 44 } 45 } 46 else if(*m == *n) 47 { 48 int u = 0; 49 for(int k =2; k<*m; k++) 50 { 51 if(*m % k == 0) 52 { 53 u = 0; 54 break; 55 } 56 else 57 { 58 u = 1; 59 } 60 } 61 if(u == 1) 62 { 63 printf("1 %d",*m); 64 } 65 else if(u == 0) 66 { 67 printf("0 0"); 68 } 69 } 70 return 0; 71 } 72 int main(void) 73 { 74 int m,n; 75 scanf("%d %d",&m,&n); 76 pn(&m,&n); 77 return 0; 78 }
1 #include <stdio.h> 2 3 int is_prime(int num) // 判断是否是素数的函数 4 { 5 if (num <= 1) { 6 return 0; 7 } 8 for (int i = 2; i * i <= num; i++) { 9 if (num % i == 0) { 10 return 0; 11 } 12 } 13 return 1; 14 } 15 16 int count_sum_prime(int m, int n) // 统计素数个数并求和的函数 17 { 18 int count = 0; 19 int sum = 0; 20 for (int i = m; i <= n; i++) { 21 if (is_prime(i)) { 22 count++; 23 sum += i; 24 } 25 } 26 printf("%d %d", count, sum); 27 return 0; 28 } 29 30 int main(void) 31 { 32 int m, n; 33 scanf("%d %d", &m, &n); 34 if (m < 1 || n > 500 || m > n) { 35 printf("Invalid input\n"); 36 return 0; 37 } 38 count_sum_prime(m, n); 39 return 0; 40 }
猴子吃桃问题
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?
输入格式:
输入在一行中给出正整数N(1<N≤10)。
输出格式:
在一行中输出第一天共摘了多少个桃子。
输入样例:
3
输出样例:
10
1 #include <stdio.h> 2 3 int main() 4 { 5 int n, i, sum = 1; 6 scanf("%d", &n); 7 if(n <= 1 || n > 10) 8 { 9 return 0; 10 } 11 for (i = 1; i < n; i++) 12 { 13 sum = (sum + 1) * 2; 14 } 15 printf("%d\n", sum); 16 return 0; 17 }
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。
输入格式:
输入第一行给出一个正整数N
(≤ 20)。随后N
行,每行给出两个整数,分别是一个人的身高H
(120 < H < 200;单位:厘米)和真实体重W
(50 < W ≤ 300;单位:市斤),其间以空格分隔。
输出格式:
为每个人输出一行结论:如果是完美身材,输出You are wan mei!
;如果太胖了,输出You are tai pang le!
;否则输出You are tai shou le!
。
输入样例:
3
169 136
150 81
178 155
输出样例:
You are wan mei!
You are tai shou le!
You are tai pang le!
1 #include <stdio.h> 2 #include <stdlib.h> 3 void kilo(int n) 4 { 5 int i = 1; 6 int h,w; 7 float h1,w1; 8 while(i<=n) 9 { 10 scanf("%d %d",&h,&w); 11 if(h > 120 && h < 200) 12 { 13 h1 = (h-100)*0.9; 14 //printf("%f\n",h1);//45 15 } 16 else 17 { 18 continue; 19 } 20 if(w > 50 && w <= 300) 21 { 22 w1 = w/2.0; 23 //printf("%f\n",w1);//40.5 24 } 25 else 26 { 27 continue; 28 } 29 if((w1-h1)>0 && (w1-h1) >= (0.1 * h1)) 30 { 31 printf("You are tai pang le!\n"); 32 } 33 else if((w1-h1) < 0 && (h1-w1) >= (0.1 * h1)) 34 { 35 printf("You are tai shou le!\n"); 36 } 37 else 38 { 39 40 //printf("%f %f %f\n",w1-h1,h1-w1,0.1 * h1); 41 printf("You are wan mei!\n"); 42 } 43 i++; 44 } 45 } 46 int main(void) 47 { 48 int n =0; 49 scanf("%d",&n); 50 if(n < 0 || n > 20) 51 { 52 return 0; 53 } 54 kilo(n); 55 return 0; 56 }
1 #include <stdio.h> 2 #include <math.h> 3 4 int main() 5 { 6 int N; // 输入的人数 7 int H, W; // 身高和体重 8 double standard, error; // 标准体重和误差 9 scanf("%d", &N); // 读入人数 10 for (int i = 0; i < N; i++) // 对每个人进行判断 11 { 12 scanf("%d %d", &H, &W); // 读入身高和体重 13 standard = (H - 100) * 0.9 * 2; // 计算标准体重,单位为市斤 14 error = fabs(W - standard); // 计算误差,取绝对值 15 if (error < standard * 0.1) // 如果误差小于标准体重的10% 16 { 17 printf("You are wan mei!\n"); // 输出完美身材 18 } 19 else if (W > standard) // 如果体重大于标准体重 20 { 21 printf("You are tai pang le!\n"); // 输出太胖了 22 } 23 else // 如果体重小于标准体重 24 { 25 printf("You are tai shou le!\n"); // 输出太瘦了 26 } 27 } 28 return 0; 29 }
标签:输出,int,h1,样例,printf,习题,输入
From: https://www.cnblogs.com/zaiyewujiang/p/17279320.html