精华内容
下载资源
问答
  • Python123
    万次阅读
    2020-10-29 21:50:52

    1. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!tag=True

    while tag:

    name = input('name>>: ')

    passwd = input('password>>: ')

    if name == 'seven' and passwd == '123':

    print('login successful!')

    else:

    print('login failed')2. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次tag=True

    count=1

    while tag:

    if count > 3:

    break

    name = input('name>>: ')

    passwd = input('password>>: ')

    if name == 'seven' and passwd == '123':

    print('login successful!')

    else:

    print('login failed')

    count += 1

    3. 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次tag=True

    count=1

    while tag:

    if count > 3:

    break

    name = input('name>>: ')

    passwd = input('password>>: ')

    if name == 'seven' or 'alex' and passwd == '123':

    print('login successful!')

    else:

    print('login failed')

    count += 1

    更多相关内容
  • python123.io

    千次阅读 2021-02-03 05:45:30
    Domain Name: PYTHON123.IORegistry Domain ID: D503300000040426145-LRMSRegistrar WHOIS Server: whois.godaddy.comRegistrar URL: ...

    Domain Name: PYTHON123.IO

    Registry Domain ID: D503300000040426145-LRMS

    Registrar WHOIS Server: whois.godaddy.com

    Registrar URL: http://www.godaddy.com

    Updated Date: 2020-11-18T02:56:09Z

    Creation Date: 2016-12-02T01:51:06Z

    Registry Expiry Date: 2022-12-02T01:51:06Z

    Registrar Registration Expiration Date:

    Registrar: GoDaddy.com, LLC

    Registrar IANA ID: 146

    Registrar Abuse Contact Email: abuse@godaddy.com

    Registrar Abuse Contact Phone:********42505

    Reseller:

    Domain Status: ok https://icann.org/epp#ok

    Registrant Organization: Domains By Proxy, LLC

    Registrant State/Province: Arizona

    Registrant Country: US

    Name Server: NS15.DOMAINCONTROL.COM

    Name Server: NS16.DOMAINCONTROL.COM

    DNSSEC: unsigned

    >>> Last update of WHOIS database: 2021-01-06T17:39:50Z <<<

    For more information on Whois status codes, please visit https://icann.org/epp

    Access to WHOIS information provided by Internet Computer Bureau Ltd. ICB is provided to assist persons in determining the contents of a domain name registration record in the ICB registry database. The data in this record is provided by ICB for informational purposes only, and ICB does not guarantee its accuracy. This service is intended only for query-based access. You agree that you will use this data only for lawful purposes and that, under no circumstances will you use this data to(i) allow, enable, or otherwise support the transmission by e-mail, telephone, facsimile or other electronic means of mass, unsolicited, commercial advertising or solicitations to entities other than the data recipient"s own existing customers; or (ii) enable high volume, automated, electronic processes that send queries or data to the systems of Registry Operator, a Registrar, or ICB or its services providers except as reasonably necessary to register domain names or modify existing registrations. UK privacy laws limit the scope of information permitted for certain public access. Therefore, concerns regarding abusive use of domain registrations in the ICB registry should be directed to either (a) the Registrar of Record as indicated in the WHOIS output, or (b) the ICB anti-abuse department at abuse@icbregistry.info.

    All rights reserved. ICB reserves the right to modify these terms at any time. By submitting this query, you agree to abide by these policies

    展开全文
  • Python123 C编程题答案解析

    万次阅读 多人点赞 2020-11-29 21:57:41
    Python123编程题答案解析 大学计算机Python123编程题答案解析C(python123)顺序结构选择结构循环结构循环进阶 C(python123) 顺序结构 选择结构 循环结构

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

    请自行先按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/3
    	printf("%.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后3
    	printf("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;
    		else
    			a = 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;
    		else
    			a = 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;				//计数,必须初始化为0
    	int num = 0;				//输入的数
    	scanf("%d", &num);			//不能漏掉&
    	while (num != 0)			//循环整除10直到为0
    	{							//每次整除10后原数位数会减一
    		num /= 10;				//1位数整除10=0
    		count++;				//通过整除次数可知原数位数
    	}
    	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取出第一位,其余位作为整数赋值给w
    	printf("%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,否返回0
    		if (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;
    }
    
    
    展开全文
  • Python安装教程(3.10.0版本)

    万次阅读 2021-10-17 13:30:57
    1、进入Python的官方下载页面 http://www.python.org/download/ 2、将鼠标移到Downloads上并选择Windows 3、点击DownloadWindowsembeddablepackage(32-bit)或 DownloadWindowsembeddablepackage(64-bit) (电脑...

    1、进入Python的官方下载页面
    http://www.python.org/download/

    2、将鼠标移到Downloads上并选择Windows

     

     3、点击Download Windows embeddable package (32-bit)或
    Download Windows embeddable package (64-bit)

    (电脑是多少位的就安装多少位的)

     4、将此文件解压

     5、双击python即可正常使用

     

     

     

    展开全文
  • x = 10 while True: x = x -1 if x == 1: break
  • python技能树】python简介

    万次阅读 多人点赞 2022-04-30 10:44:49
    1 Python定义 Python 是一种简单易学并且结合了解释性、编译性、互动性和面向对象的脚本语言。Python提供了高级数据结构,它的语法和动态类型以及解释性使它成为广大开发者的首选编程语言。 Python 是解释型语言...
  • python交互模式

    千次阅读 2022-04-06 15:21:44
    1.python交互模式 2.命令行脚本 一、python交互模式 运行dos命令 输入python出现“>>>”,表示成功 二、命令行脚本 在PyCharm写好语句 进入路径并运行python脚本 ...
  • python各种编辑器、APP、软件下载

    万次阅读 多人点赞 2020-11-24 08:37:00
    /python下载 / Windows推荐所有 Windows 10/8/7 用户安装 32 位版本部分扩展包可能不支持 64 位 Python注意:Python 3.9 及以上版本...
  • Python入门基础教程全套.ppt

    千次下载 2020-04-22 15:59:55
    Python入门基础
  • python画一个三角形

    千次阅读 2020-03-31 09:50:28
    画一个三角形
  • python数组求和与平均值

    万次阅读 2020-04-04 09:46:43
    python数组求和与平均值 ls=[4,9,19,8,391,39,9,283,45] sum(ls) average=sum(ls)/len(ls) print('累加值',sum(ls),'平均值',average)
  • Python 基础(一):入门必备知识

    万次阅读 多人点赞 2019-10-29 19:39:54
    Python 入门必备知识,你都掌握了吗?
  • python爬虫20个案例

    2018-03-25 07:34:21
    讲诉python爬虫的20个案例 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  • 收藏!全国计算机二级 Python 题库破解

    万次阅读 多人点赞 2019-08-19 17:11:00
    去年9 月 Python 第一次纳入计算机二级考试范畴,眼瞅着今年又快开学了,如果你要参加 Python 考试或者不参加只是想学习一下 Python的话,给大家推荐一...
  • 目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中...#一、安装python 欢迎...
  • 输出斐波拉契数列的前n项(python)

    万次阅读 2019-11-11 23:59:41
    思路:使用列表 代码如下: n=int(input('输出斐波拉契数列的前n项:n=')) list=[] for m in range(0,n): if m==0: list.append(0) elif m==1: list.append(1) else: list.append(list[m-1]+list......
  • 81个Python爬虫源代码

    2018-12-13 14:23:02
    81个Python爬虫源代码,内容包含新闻、视频、中介、招聘、图片资源等网站的爬虫资源
  • 最近想要学习Python,所以就在网上整理了好多整理而来 超级详细的Python入门教程
  • python 获取字典最大值的两种方法

    万次阅读 2019-04-18 01:06:41
    import operator # 先通过sorted 和operator 函数对字典进行排序,然后输出最大value的键 classCount={"c":1,"b":4,"d":2,"e":6} print(classCount.items()) SortedclassCount1= sorted(classCount.items(), key=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,119,908
精华内容 3,647,963
关键字:

Python123