Python123 C编程题答案解析(不定期更新) 不要直接复制,请尝试理解,不懂可以问,发评论区也行,看完点个赞呗

  • C(python123)
    • 1、顺序结构
      • 1、求三角形面积
      • 2、计算球的体积
      • 3、计算圆的周长和面积
      • 4、整数拆解组合
    • 2、选择结构
      • 1、判断是否3的倍数
      • 2、几位数
      • 3、大写转小写
      • 4、求三角形面积 (加判断)
      • 5、空气质量状况判定
      • 6、大小写转换
      • 7、编程输入年份和月份,输出每个月的天数
      • 8、5位的回文数
      • 9、字符类型判断
      • 10、求一元二次方程的根
      • 11、输入三个整数,排序后输出
      • 12、求解简单的四则运算(switch)
      • 13、简单的猜数游戏
      • 14、温度自动转换
      • 15、第几天
      • 16、中英文数字
    • 3、简单循环结构
      • 1、几位数
      • 2-1、输出n位整数的后n-1位数
      • 2-2、输出n位整数的后n-1位数
      • 3、判断[a,b]间有多少个闰年
      • 4、求出1到1000之内能被7或者11整除、但不能同时被7和11整除的所 有整数的个数
      • 5、输出三位数中所有的水仙花数
      • 6、鸡兔同笼问题
      • 7、猴子吃桃
      • 8、求Sn=1!+2!+3!+4!+5!+…+n!的值
      • 9、组合数的问题
      • 10、计算自然常数e的近似值
      • 11、 用格雷格列公式求pi的近似值
      • 12、输出Fibonacci数列小于等于n的项
      • 13、累加求和 a+aa+aaa+aa…a
      • 14、0.5次方累加和问题
      • 15、麦穗问题
      • 16、统计字符的个数
      • 17、学生的成绩,统计并输出优秀
      • 18、体操比赛打分
      • 19、计算并输出多项式的值
      • 20、累加和倒数之和
      • 21、求一个正整数的因子和
      • 22、求最大公约数,最小公倍数
    • 4、循环进阶
      • 1、换硬币问题
      • 2、鸡兔同笼问题
      • 3、九九乘法表
      • 4、输出素数
      • 5、累加求和
      • 6、输出图形
      • 7、找出N之内的所有完数
      • 8、输出小于n的素数个数
      • 9、输出紧靠m的k个素数
      • 10、打印图形2

请自行先按https://blog.csdn.net/weixin_43593986/article/details/110384759排除错误
避免遇到错误就手足无措的情况

C(python123)

1、顺序结构

1、求三角形面积

描述
假设三角形的三条边长为a,b和c,从键盘输入三条边的边长(要求在一条scanf()中输入3个值,中间用逗号分隔),求三角形的面积area,‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
输出保留两位小数

#include <stdio.h>
#include<math.h>
int main()
{float a, b, c,s,area;scanf("%f,%f,%f", &a, &b, &c);s = 0.5*(a + b + c);area = sqrt(s*(s - a)*(s - b)*(s - c));printf("area=%.2f", area);return 0;
}

2、计算球的体积

根据输入的半径值,计算球的体积。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
描述
通过键盘输入球的半径,计算球体积,结果保留3位小数;
球体积计算公式:
其中,定义PI=3.1415;

#include <stdio.h>
int main()
{float v, r, pi=3.1415;scanf("%f", &r);v = (4 * pi*r*r*r) / 3;      //注意4/3=1,所以不能先写4/3printf("%.3f", v);return 0;
}

3、计算圆的周长和面积

描述
输入圆1和圆2的半径(实数类型),按指定格式输出圆1和圆2的周长与面积。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
公式中圆周率取3.141592‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
d1后面两个空格is后面3个空格,其余雷同

#include <stdio.h>
int main()
{float r1, r2,d1,d2,s1,s2,pi=3.141592;scanf("%f%f", &r1, &r2);d1 = pi * 2 * r1;d2 = pi * 2 * r2;s1 = pi * r1 * r1;s2 = pi * r2 * r2;printf("d1  is   %f\n",d1);            //题目要求空格前2后3printf("d2  is   %f\n",d2);printf("s1  is   %f\n", s1);printf("s2  is   %f", s2);return 0;
}

4、整数拆解组合

问题描述:
编程实现通过键盘输入两个两位数的正整数放入变量a和变量b中,拆解量a和变量b中的数,然后合并形成一个新的整数放在变量c中。合并的方式是:将变量a中数的十位和个位数依次放在变量c中数的千位和十位上,变量b中数的十位和个位数依次放在变量c数的个位和百位上。例如,当a中是45,b中是12,那么c中是4251。

#include<stdio.h>
int main()
{char a,b,c,d;      //定义4个变量表示两个数的十位和个位a=getchar();b=getchar();getchar();         //getchar吃掉中间的空格c=getchar();d=getchar();printf("c is %c%c%c%c",a,d,b,c);    //按要求顺序输出return 0;
}

2、选择结构

1、判断是否3的倍数

问题描述:编程实现,若输入的整数是3的倍数,则显示 “OK!”(其中OK为大写字母,且双引号不输出);
若输入的整数不是3的倍数,则没有任何结果显示。

#include <stdio.h>
int main()
{int a;scanf("%d", &a);a % 3 == 0 ? printf("OK!") : a;return 0;
}

2、几位数

描述
编写一个程序,输入一个整数(0-9999之间),请输出它的位数

#include<stdio.h>
#include<string.h>
int main()
{char a[10] = { '\0' };gets(a);printf("%d", strlen(a));return 0;
}

3、大写转小写

描述
输入一个大写字母,输出相应的小写字母‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

提示:字符型输入输出使用格式控制字符:%c

#include<stdio.h>
int main()
{char ch;ch=getchar();ch = ch + 32;printf("%c", ch);return 0;
}

4、求三角形面积 (加判断)

描述
假设三角形的三条边长为a,b和c,从键盘输入三条边的边长(要求在一条scanf()中输入3个值,输入时用空格分隔),先判断这三条边是否能构成三角形,如果能则求三角形的面积area并输出,保留两位小数,否则输出 Error!。

#include <stdio.h>
#include<math.h>
int main()
{float a, b, c,s,area;scanf("%f %f %f", &a, &b, &c);if(a+b>c && b+c>a && a+c>b){s = 0.5*(a + b + c);area = sqrt(s*(s - a)*(s - b)*(s - c));printf("%.2f", area); }else{printf("Error!");}return 0;
}

5、空气质量状况判定

描述
下表是我国空气质量分级表,请编写程序,由用户输入空气污染指数API值,输出相应的空气质量状况

#include<stdio.h>int main()
{int API = 0;scanf("%d", &API);if (API >= 0 && API <= 50){printf("优");return 0;}else if (API >= 51 && API <= 100){printf("良");return 0;}else if (API >= 11 && API <= 150){printf("轻微污染");return 0;}else if (API >=151 && API <=200){printf("轻度污染");return 0;}else if (API >=201 && API <= 250){printf("中度污染");return 0;}else if (API >= 250 && API <=300){printf("中度重污染");return 0;}else if(API >=301){printf("重污染");return 0;}else{printf("输入错误");return 0;}}

6、大小写转换

描述
输入一个字母,先进行判断,如果是小写则转换成大写,反之则转换成小写,并输出‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

提示:字符型输入输出使用格式控制字符:%c,或者用getchar()和putchar()函数

#include<stdio.h>
int main()
{char c;c=getchar();if(c<'a'){c+=32;}else{c-=32;}putchar(c);return 0;
}

7、编程输入年份和月份,输出每个月的天数

编程输入年份和月份,输出每个月的天数(其中闰年二月就输出29天,平年二月输出28天)。如果输入的月份超出12,就输出 Input error!

#include <stdio.h>
int main()
{int year, a,month;scanf("%d%d", &year,&month);if (year % 400 == 0)a = 1;else{if (year % 4 == 0 && year % 100 != 0)a = 1;elsea = 0;}switch (month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31");break;case 4:case 6:case 9:case 11:printf("30");break;case 2:if (a == 1){printf("29");}else{printf("28");}break;default:printf("Input error!");break;}return 0;
}

8、5位的回文数

#0035003500360033003000311606745210169
回文数‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输入一个5位数,判断它是不是回文数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输入12321 输出YES‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输入12345输出NO

#include <stdio.h>
int main()
{char a[6] = { '\0' };gets(a);(a[0] == a[4] && a[1] == a[3]) ? printf("YES") : printf("NO");return 0;
}

9、字符类型判断

描述
题目内容: ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

从键盘键入任意一个字符,判断该字符是英文字母(不区分大、小写)、数字字符还是其它字符。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

若键入字母,则屏幕显示 It is an English character.;若键入数字则屏幕显示It is a digit character. ;若输入其它字符,则屏幕显示:It is other character.

#include <stdio.h>
int main()
{char c;c = getchar();if (c >= 'A' && c <= 'z'){printf("It is an English character.");}else if (c >= '0' && c <= '9'){printf("It is a digit character.");}else{printf("It is other character.");}return 0;
}

10、求一元二次方程的根

描述
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬
注意:a、b、c三个变量由一条输入语句输入,中间用逗号分隔,先判断是否有实根,如果有则计算并输出,否则输出:No Real Root!‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

#include <stdio.h>
#include<math.h>
int main()
{float a, b, c,x1,x2;scanf("%f,%f,%f", &a, &b, &c);if (b*b > 4 * a *c){x1 = (-b + sqrt(b*b - 4 * a *c))/(2*a);x2 = (-b - sqrt(b*b - 4 * a *c)) / (2 * a);printf("x1=%.2f\nx2=%.2f", x1, x2);}else if (b*b == 4 * a *c){x1 = -b / (2 * a);x2 = x1;printf("x1=%.2f\nx2=%.2f", x1, x2);}else{printf("No Real Root!");}return 0;
}

11、输入三个整数,排序后输出

要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

通过键盘输入三个整数(在键盘上输入这三个数时用空格间隔),利用简单形式if语句设计算法,将这三个数按照从小到大顺序排序后输出。(输出时,这三个数中间用空格间隔)

#include<stdio.h>
int main()
{int a, b, c,t,max,min,middle=0;scanf("%d%d%d", &a, &b, &c);max = a; min = a;if (max < b)max = b;if (max < c)max = c;if (min > b)min = b;if (min > c)min = c;if (a > min && a < max)middle = a;if (b > min && b < max)middle = b;if (c > min && c < max)middle = c;printf("%d %d %d", min,middle, max);return 0;
}

12、求解简单的四则运算(switch)

[问题描述]利用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入表达式包括:两个操作数(double类型)和一个运算符;然后依据指定运算符包括加(+)、减(-)、乘(*)、除(/),计算四则运算的结果。
说明:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

1、可以包含+、-、*和/四种运算,如果用户输入其它运算符,输出:“DataError!”,当用户输入除法算式时,先判断除数是否为零,不为零输出计算结果,为零输出“DataError!”

#include <stdio.h>
#include<math.h>
int main()
{double a, b, result;char c;scanf("%lf%c%lf",&a,&c,&b);switch (c){case '+':result = a + b;break;case '-':result = a - b;break;case '*':result = a * b;break;case '/':if (b !=0){result = a / b;}else{printf("DataError!");return 0;}break;default:printf("DataError!");return 0;}printf("%.2lf", result);return 0;
}

13、简单的猜数游戏

描述
事先由计算机指定一个正整数,computer_num=65,然后让用户猜,如果用户输入等于此数,输出“Right”,如果大于此数,输出“Big”,小于输出“Small”

#include <stdio.h>
#include<math.h>
int main()
{int n;scanf("%d", &n);if (n > 65){printf("Big");}else if(n == 65){printf("Right");}else{printf("Small");}return 0;
}

14、温度自动转换

输入一个温度,用C或者F结尾,如果是C结尾,则将温度转换为华氏温度,如果是F结尾,则将温度转换为摄氏温度,结果保留2为小数,如果结尾是其他字符,输入“Error!”。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

华氏温度转摄氏温度 公式为 C=5(F-32)/9 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

摄氏温度转华氏温度 公式为 F=C*1.8+32

#include<stdio.h>int main()
{char ch;float C=0, F=0,t=0;scanf("%f%c", &t, &ch);if (ch == 'C'){F = t * 1.8 + 32;printf("%.2fF", F);}else if(ch == 'F'){C = 5*(t - 32) / 9;printf("%.2fC", C);}else{printf("Error!");}return 0;
}

15、第几天

编写一道程序,输入三个正整数,表示某年某月某日,判断这一天是这一年的第几天?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
输入2013 7 12 输出193‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
输入2012 5 15 输出136

#include <stdio.h>
int getdays(int year, int month);
int main()
{int sum=0, day, year, month,i;scanf("%d %d %d", &year, &month, &day);for (i = 1; i < month; i++)              //循环到前一个月{sum = sum + getdays(year, i);}sum = sum + day;                        //加上本月天数printf("%d", sum);return 0;
}
int getdays(int year, int month)            //根据年月返回对应天数
{int a,day;if (year % 400 == 0)a = 1;else{if (year % 4 == 0 && year % 100 != 0)a = 1;elsea = 0;}switch (month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;case 4:case 6:case 9:case 11:day = 30;break;case 2:if (a == 1){day = 29;}else{day = 28;}break;default:printf("Input error!");break;}return day;
}

16、中英文数字

描述‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输入一个两位数,输出该数的英文单词

#include<stdio.h>int main()
{int num = 0,a,b;scanf("%d", &num);if (num >= 10 && num <=19){switch (num){case 10:printf("ten");break;case 11:printf("eleven");break;case 12:printf("twelve");break;case 13:printf("thirteen");break;case 14:printf("fourteen");break;case 15:printf("fifteen");break;case 16:printf("sixteen");break;case 17:printf("seventeen");break;case 18:printf("eightteen");break;case 19:printf("nineteen");break;}}else{a = num / 10;b = num - a*10;switch (a){case 2:printf("twenty");break;case 3:printf("thirty");break;case 4:printf("forty");break;case 5:printf("fifty");break;case 6:printf("sixty");break;case 7:printf("seventy");break;case 8:printf("eighty");break;case 9:printf("ninety");break;}switch (b){case 0:break;case 1:printf("-one");break;case 2:printf("-two");break;case 3:printf("-three");break;case 4:printf("-four");break;case 5:printf("-five");break;case 6:printf("-six");break;case 7:printf("-seven");break;case 8:printf("-eight");break;case 9:printf("-nine");break;}}return 0;
}

3、简单循环结构

1、几位数

[问题描述]输入一个整数,判断是几位数?

#include <stdio.h>
int  main()
{int count = 0;                //计数,必须初始化为0int num = 0;                //输入的数scanf("%d", &num);          //不能漏掉&while (num != 0)            //循环整除10直到为0{                           //每次整除10后原数位数会减一num /= 10;             //1位数整除10=0count++;              //通过整除次数可知原数位数}printf("%d", count);       return 0;
}

2-1、输出n位整数的后n-1位数

方法一

#include<stdio.h>
#include<math.h>
int  main()
{unsigned int w;            int count = 0;                             //count计数int w1,high;                               //w1作为w的副本,high表示w最高位的数字scanf("%d", &w);w1 = w;while (w1 != 0)                               //判断位数{                                         //原理每次整除10位数会减一w1 /= 10;                               //判断整除次数即可判断位数count++;}high = w / (pow(10.0, 1.0*count - 1));        //w整除10的(位数-1)次方即是最高位数字w = w - high * (pow(10.0, 1.0*count-1));    //w减去(最高位数字乘10的(位数-1)次方)就是剩下的数printf("%d", w);return 0;
}

2-2、输出n位整数的后n-1位数

[问题]
w是一个大于10的无符号整数,若w是n(n≥2)位的整数,输出w的后n-1位的数。例如w 值为5923,则输出923;w的值为923,则输出23。无符号整型变量w定义为:unsigned int w; 无符号整型变量对应的格式符为%u 。
方法二

#include<stdio.h>
int main()
{unsigned int w;char c;scanf("%c%u",&c,&w);                       //通过%c取出第一位,其余位作为整数赋值给wprintf("%u",w);return 0;
}

3、判断[a,b]间有多少个闰年

描述
请判断【a,b】年之间(含a年,含b年),共包含多少个闰年,要求输出闰年的个数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

闰年的判断条件:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

能被4整除但不能被100整除,或者能被400整除。

#include <stdio.h>
int  main()
{int a, b,i,count=0;scanf("%d,%d", &a, &b);for ( i = a; i <= b; i++){if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0){count++;}}printf("%d", count);return 0;
}

4、求出1到1000之内能被7或者11整除、但不能同时被7和11整除的所 有整数的个数

#include<stdio.h>
int main()
{int i,count=0;for(i=7;i<=994;i++){if((i%7==0 ||i%11==0) && !(i %7==0 && i % 11==0))count++;}printf("%d",count);return 0;
}

5、输出三位数中所有的水仙花数

描述
题目内容:请输出【a,b】之间(含a,含b)所有水仙花数,水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。

#include<stdio.h>
#include<math.h>
int main()
{int num,gw,sw,bw,result;           //bw表示百位....int a,b;scanf("%d,%d",&a,&b);for (num = a; num <= b; num++){bw = num / 100;   sw = (num - bw * 100) / 10;gw = num % 10;result = pow(bw, 3) + pow(sw, 3) + pow(gw, 3);if(result==num)printf("%d\n", num);}return 0;
}

6、鸡兔同笼问题

     见循环进阶部分

7、猴子吃桃

[问题描述]‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。

#include<stdio.h>
int main()
{int n,num=1,i;scanf("%d", &n);for (i = 1; i < n; i++){num = (num + 1) * 2;}printf("%d", num);return 0;
}

8、求Sn=1!+2!+3!+4!+5!+…+n!的值

#include<stdio.h>
long int jiecheng(int i);
int main()
{int n,i;float sum = 0;scanf("%d", &n);for (i = 1; i <= n; i++){sum = sum + jiecheng(i);}printf("%f", sum);return 0;
}
long int jiecheng(int i)
{int sum=1;for (i; i >= 1; i--){sum = sum * i;}return sum;
}

9、组合数的问题

[问题]
根据以下公式求P的值。m与n为两个正数且要求m>n。例如:m=12,n=8时,运行结果为495.000000。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

#include<stdio.h>
int jiecheng(int i);
int main()
{int n,i,m;float p;scanf("%d%d", &m,&n);p = 1.0*jiecheng(m) / (jiecheng(n)*jiecheng(m-n));printf("%f", p);return 0;
}
int jiecheng(int i)
{int sum=1;for (i; i >= 1; i--){sum = sum * i;}return sum;
}

10、计算自然常数e的近似值

编写程序,用e≈1+1/1!+1/2!+1/3!+……+1/n!,求e的近似值,n由用户输入。 输出e的值,保留10位小数。 由于int类型的最大值有限,建议使用long int,更准确表示13以上的阶乘数。

#include<stdio.h>
long int jiecheng(int i);
int main()
{int n,i,m;double e=1;scanf("%d", &n);for (i = 1; i <= n; i++){e = e + (1.0/jiecheng(i));}printf("%.10lf", e);return 0;
}
long int jiecheng(int i)
{long int sum=1;for (i; i >= 1; i--){sum = sum * i;}return sum;
}

11、 用格雷格列公式求pi的近似值

用格雷格里公式求pi的近似值,当某一项的绝对值小于10的-6次方时停止

#include<stdio.h>
#include<math.h>
int main()
{int i=1,j=1;double x,pi=0;do{x = 1.0 / i;if (j % 2 == 0){x = -x;}pi = pi + x;i += 2;j++;} while (fabs(x) >= 1e-6);      //fabs为取绝对值pi = pi - x;pi *= 4;printf("%lf", pi);return 0;
}

12、输出Fibonacci数列小于等于n的项

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

编程序输出Fibonacci(斐波那契)数列小于等于n的项,n由用户指定

#include<stdio.h>
int  main()
{int a, b, c=0, d,n;scanf("%d", &n);a = 1; b = 1;printf("1 1");for (;;){c = a + b;d = b + c;a = c;b = d;if (a <= n)printf(" %d", a);if (b <= n)printf(" %d", b);if (a > n || b > n)break;}printf(" ");return 0;
}

13、累加求和 a+aa+aaa+aa…a

[试题描述]
下面程序的功能是求a+aa+aaa+aa…a(n个a)之和,a和n从键盘输入。例如输入2和3,则计算2+22+222,输出246。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

[输入说明] a和n的值,类型可以选择 整型或 浮点型;
[输出说明] 累加求和输出的结果建议定义为double类型(结果保留 0位小数);

#include<stdio.h>
#include<math.h>
int  main()
{int n, a,i,b,sum=0;scanf("%d%d", &a, &n);b = a;for (i = 1; i < n; i++){a = a + b * (pow(10, i));sum += a;}printf("%d", sum+b);return 0;
}

14、0.5次方累加和问题

[描述]计算并输出以下公式的结果。

例如:从键盘给n输入20后,则输出为s=534.188884。注意:n的值要求大于1但不大于100。

#include<stdio.h>
#include<math.h>
double x(int n);
int main()
{int i,n;double sum = 0;scanf("%d", &n);for (i = 1; i <= n; i++){sum = sum + x(i);}printf("%lf", sum);return 0;
}
double x(int n)
{int i;double result=0;for (i = 1; i <= n; i++){result = result + pow(i, 0.5);}return result;
}

15、麦穗问题

[问题描述] 达伊尔麦穗问题:64个棋格,第一个1粒麦穗,第二个2粒麦穗,第三个4粒麦穗,后一个棋格放前一个棋格2倍的麦穗,问共有多少粒麦穗?
[要求] 输出结果用 指数形式(%.4e 或 %.4le ) ,小数部分的小数位 保留 4 位。

#include<stdio.h>
int main()
{double x=1;double sum = 0;                       //2^64次方极大int i;for (i = 1; i <= 64; i++){sum = sum + x;x = x * 2;}printf("%.4le", sum);return 0;
}

16、统计字符的个数

输入一行字符,分别统计出其中的英文字母、数字、空格和其他字符的个数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

提示:空格就是ASCII表里面的SP字符,ASCII码值为32。

#include<stdio.h>
int  main()
{char c;int english = 0, number = 0, space = 0, other = 0;while (1){c = getchar();if (c == '\n'){break;}else if (c >= 'A' & c <= 'Z' || c >= 'a' & c <= 'z'){english++;}else if (c >= '0' && c <='9'){number++;}else if(c==' '){space++;}else{other++;}}printf("%d %d %d %d", english, number, space, other);return 0;
}

17、学生的成绩,统计并输出优秀

编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

#include<stdio.h>
#include<string.h>
int main()
{int score[1000] = { -1 };int great = 0, pass = 0, fail = 0;int i=0;do{scanf("%d", &score[i]);if (score[i] > 85){great++;}else if (score[i] >= 60 && score[i] <= 84){pass++;}else if (score[i] > 0 && score[i] <= 59){fail++;}else{break;}} while (1);printf(">=85:%d\n60-84:%d\n<60:%d", great, pass, fail);return 0;
}

18、体操比赛打分

假定某一大型比赛中有10名裁判同时为一名体操运动员打分,编写一个程序,输入这10名裁判的打分,输出去掉一个最高分和一个最低分后该运动员的平均得分。

#include<stdio.h>
int main()
{float score[10] = { 0 };float max=0,min=0,sum=0;float average = 0;int i=0;scanf("%f", &score[i]);sum = score[0];max = score[0];min = score[0];for (i = 1; i <10; i++){scanf("%f", &score[i]);if (score[i] > max){max = score[i];}if (score[i] < min){min = score[i];}sum = sum + score[i];}sum = sum - max - min;average = sum / 8;printf("%.3f %.3f %.3f", max, min, average);return 0;
}

19、计算并输出多项式的值

[问题]
计算并输出下列多项式的值!例如:若从键盘给n输入8后,则输出0.662872。

#include<stdio.h>
#include<math.h>
int main()
{int n,i;float sum = 0;scanf("%d", &n);for (i = 1; i <= 2*n; i++){sum = sum + pow(-1.0,i+1) / i;}printf("%f", sum);return 0;
}

20、累加和倒数之和

[问题描述]根据以下公式计算sum,n的值通过键盘输入。

#include<stdio.h>
int sum(int i);
int main()
{int n,i;float result = 0;scanf("%d", &n);for (i = 1; i <= n; i++){result = result + 1.0/sum(i);}printf("%f", result);return 0;
}
int sum(int n)
{int i,sum=0;for (i = 1; i <= n; i++){sum += i;}return sum;
}

21、求一个正整数的因子和

从键盘输入一个正整数,求它的所有因子的和,例如输入6,它的因子有1、2和3,所有因子的和为6

#include<stdio.h>
int main()
{int n,i;int sum = 0;scanf("%d", &n);for (i = 1; i < n; i++){if (n%i == 0){sum += i;}}printf("%d", sum);return 0;
}

22、求最大公约数,最小公倍数

输入两个正整数m和n,求其最大公约数和最小公倍数。

#include<stdio.h>
int main()
{int m,n,t,max,min=0,i,s;scanf("%d%d", &m, &n);if (m > n){t = m;m = n;n = t;}for (i = 1; i <= m*n; i++){if (m % i == 0 && n % i == 0){max = i;}if (i % m == 0 && i % n == 0 && min==0){min = i;}}printf("%d %d", max, min);return 0;
}

4、循环进阶

1、换硬币问题

将一笔零钱(大于8分,小于1元,精确到分)换成5分、2分和1分的硬币,要求每种硬币至少有一枚。输入金额,问有几种换法?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

注意:1分后面没有等号!!!!!

#include<stdio.h>
int main()
{float amount = 0;int coin_5, coin_2, coin_1;                          //顾名思义scanf("%f", &amount);for (coin_5 = 1; coin_5 <= 19; coin_5++)            //因为每种至少一个且总数小于100分,所以coin_5最多19个{                                                   //因为先输出5分1个,所以放外循环for (coin_2 = 1; coin_2 <= 47; coin_2++)        //2分最多47个{for (coin_1 = 1; coin_1 <= 94; coin_1++)   //1分最多94个{if (coin_1 * 1 + coin_2 * 2 + coin_5 * 5 == amount * 100) //amount*100将元转化为分{printf("5分=%d个,2分=%d个,1分%d个\n", coin_5, coin_2, coin_1);}}}}return 0;
}

2、鸡兔同笼问题

大约在1500年前,《孙子算经》中记载了这个有趣的问题:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

今有鸡兔同笼,上有35个头,下有94只足,请问鸡和兔各有几只?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

请编程序计算,将结果输出。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

#include<stdio.h>
int main()
{int x, y,n;                    //设鸡x只,兔子y只,共n只n=35;                        y = 1;                     //一个从1开始++x = n - y;                 //另一个从n-1开始--while (1)                  //穷举法{if (2 * x + 4 * y == 94){printf("鸡=%d只,兔=%d只",x,y);break;}else{x--;y++;}}return 0;
}

3、九九乘法表

利用双重循环输出九九乘法表,如下图所示,两列之间用转义字符’\t’对齐:

#include<stdio.h>
int main()
{int i, j;for (i = 1; i <= 9; i++){for (j = 1; j <= i; j++){printf("%d*%d=%d\t", j,i,i*j);}printf("\n");}return 0;
}

4、输出素数

描述
输出1~n之间的所有素数,每行输出5个,用转义字符‘\t’对齐

#include<stdio.h>
int isprime(int x);
int main()
{int i, n,count=0,sign;scanf("%d", &n);for (i = 2; i <= n; i++){sign = isprime(i);           //判断是否素数,是返回1,否返回0if (sign){printf("%d\t", i);count++;if (count % 5 == 0)       //每五个数输出换行符{printf("\n");}}}return 0;
}
int isprime(int x)
{int i;for (i = 2; i < x; i++){if (x%i == 0){return 0;}}return 1;
}

5、累加求和

[试题描述]
请编写程序计算并输出下列多项式的值,(建议利用双重循环;如果利用一重循环,累加时就要加条件)

long int fac(int i)              //涉及阶乘最好long int
{long int sum=1;for (i; i >= 1; i--){sum = sum * i;}return sum;
}
int main()
{int n,i;double sum=0;scanf("%d",&n);for(i=1;i<=n;i+=2){sum+= 1.0/fac(i);       //fac返回值为整数,所以用1.0/}printf("%lf",sum);return 0;
}

6、输出图形

[问题描述] 输出图形
‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
[要求] 每一行仅仅输出星号左侧的空格,不要输出星号右侧的空格;

#include<stdio.h>
int main()
{int i, j,k=1;for (i = 1; i <= 5; i++){for (j = 4; j >= i; j--){printf(" ");}for (k = 1; k <= 2*(i-1)+1; k++){printf("*");}printf("\n");}return 0;
}

7、找出N之内的所有完数

一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:

#include<stdio.h>
int jisuan(int x);
int main()
{int i, j,n;scanf("%d", &n);for (i = 1; i <= n; i++){if (jisuan(i) == i){printf("%d its factors are ",i);for (j = 1; j < i; j++)             //不包括本身,所以用<而不是<={if (i % j == 0){printf("%d ", j);}}printf("\n");}}return 0;
}
int jisuan(int x)               //计算因数和
{int i, sum=0;for (i = 1; i < x; i++){if (x%i == 0){sum += i;}}return sum;
}

8、输出小于n的素数个数

[问题描述] x为任意输入的整数,统计小于x的所有素数,输出所求素数的个数。

#include<stdio.h>
int isprime(int x);
int main()
{int i, n, count = 0, sign;scanf("%d", &n);for (i = 2; i < n; i++)         //从2开始,到n-1结束{sign = isprime(i);if (sign){count++;        }}printf("%d",count);return 0;
}
int isprime(int x)
{int i;for (i = 2; i < x; i++){if (x%i == 0){return 0;}}return 1;
}

9、输出紧靠m的k个素数

[问题描述] 将大于整数m 且紧靠m的k个素数输出。例如,若输入17 5回车, 则应输出:19 23 29 31 37。
[要求] 输出数据占4个宽度,输出格式为%4d 。

#include<stdio.h>
int isprime(int x);
int main()
{int m, k,i,sign,count=0;scanf("%d%d", &m, &k);for (i = m+1;count<k; i++){sign = isprime(i);if (sign){count++;printf("%4d",i);}}return 0;
}
int isprime(int x)
{int i;for (i = 2; i < x; i++){if (x%i == 0){return 0;}}return 1;
}

10、打印图形2

#include<stdio.h>
int main()
{int i, j,k=1;for (i = 1; i <= 4; i++){for (j = 3; j >= i; j--){printf(" ");}for (k = 1; k <= 2*(i-1)+1; k++){printf("*");}printf("\n");}return 0;
}

Python123 C编程题答案解析相关推荐

  1. 国二c语言改错题答案,c语言国二考试编程题答案

    <c语言国二考试编程题答案>由会员分享,可在线阅读,更多相关<c语言国二考试编程题答案(65页珍藏版)>请在人人文库网上搜索. 1.1m个人的成绩存放在score数组中,请编写 ...

  2. 中国大学 MOOC C语言程序设计----编程部分答案解析

    C语言程序设计----编程部分答案解析 编程题目1 1.求解矩形的面积.(10分) 题目内容:编写一个程序,从键盘读入一个矩形的两个边的值(整数),输出矩形面积. 输入样例:3,5 输出样例:15 时 ...

  3. 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第7章】

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第7章): [7.14] 下面的fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正. int fun (int ...

  4. 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第8章】

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第8章): [8.17] 请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数. #includ ...

  5. 2022年下半年网络工程师上午综合知识真题答案解析

    2022年下半年网络工程师上午综合知识真题答案解析 1.下列存储介质中,读写速度最快的是(). A.光盘 B.硬盘 C.内存 D.Cache [参考答案]D 2.使用DMA不可以实现数据(). A.从 ...

  6. C Primer Plus 第7章之菜鸟儿的编程题答案

    本文仅为记录自己手打编程题答案所用,不能保证正确性,欢迎大家学习交流,有问题请随时指出~ 1.原版: #include<stdio.h>int main(void) {int i = 0; ...

  7. 速学堂第七章作业编程题答案(自写)

    速学堂第七章作业编程题答案 1. 数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出&q ...

  8. 速学堂(java)第十章编程题答案(自写)

    速学堂(java)第十章编程题答案(自写) 1. 实现字节数组和任何基本类型和引用类型执行的相互转换 提示:使用ByteArrayInutStream和ByteArrayOutputStream. p ...

  9. 速学堂(java)第八章编程题答案自写

    速学堂(java)第八章编程题答案自写 1. 验证键盘输入的用户名不能为空,长度大于6,不能有数字. 提示:使用字符串String类的相关方法完成可以使用Scanner的nextLine()方法,该方 ...

最新文章

  1. shell shocked什么意思_shell脚本从入门到放弃
  2. php 如何将字体转为gb,利用php怎么将utf-8与GB2312相互转换
  3. 用户视角看百度移动:从流量集散地到流量目的地
  4. 加号(+)运算符重载
  5. webpack使用优化(基本篇)
  6. php fetch返回false,Php fetch返回字符串而不是布爾值“true / false”值
  7. endp 汇编start_常见汇编代码
  8. ubuntu 自动挂载工具_Ubuntu自动挂载分区
  9. 21 年前濒临倒闭的苹果是如何做到今天万亿市值的?
  10. jdbc连接orcle数据库_java连接Oracle数据库
  11. 钢构cad3.5免费版及命令索
  12. EP100底层封装-LibCreateSourceFile()函数
  13. matlab矩阵转置函数
  14. 三菱FX系列PLC连接触摸屏及组态软件以太网通信方案
  15. IDL实现TM遥感影像直方图统计(中值、均值、方差、众数及峰度系数计算)
  16. 使用GPUpassthrough方法发布带有GPU显卡的虚拟桌面
  17. Python 作业4+实验三
  18. 清华大学计算机系刘景财,2017年清华大学计算机系硕士录取名单
  19. 学测绘和计算机,测绘工程就业方向与前景 女生学测绘好找工作吗
  20. 进不了PE,进PE黑屏或点阵屏怎么办

热门文章

  1. 网站刷关键词_如何让关键词SEO排名,长期稳定?
  2. SQL语句中 Case具有两种格式:简单Case函数和Case搜索函数
  3. 经典题目——n阶幻方
  4. COCI 2016/2017 Round #3 题解
  5. 互联网专家资源分享(三)
  6. MIL-STD-1553B总线系统搭建指导
  7. std::cin使用
  8. win7当前页面的脚本发生错误怎么办?
  9. 生成环境(pro),开发环境(dev)的理解,--save -dev的理解
  10. LeetCode_Heap_剑指 Offer 40. 最小的k个数 【堆,泛型实现,自定义比较器】【C++/java】【简单】