第一周9.16

1 字符处理

字符数据用ASCII码表示(表格)

int main()

{ char c; 

c=getchar(); 

putchar(c+32); 

putchar('\n'); 

return 0;

}

2循环的嵌套

 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。

 内嵌的循环中还可以嵌套循环,这就是多层循环。

如何求解“复杂”的问题?

如何求解“复杂”的问题?
 大奖赛计分
 要举办青年歌手大奖赛,请你设计一个程序,计算歌手成绩
 输入
 评委人数judgeNum
 歌手人数singerNum
 每名评委对每位歌手的打分mark(小数:0-10分)
 输出
 每位歌手的成绩
 打分规则
 每位评委对每位歌手给出一个分数,去掉一个最高分和一个最低分,余
下分数的平均值作为选手的最后得分。


提供另外一种退出程序的语句

break语句的一般格式  
break;
while(表达式1) {
 ……
 if
(表达式
2

 break;
……
}

continue语句 

一般格式 continue;
while(表达式1 ) {
 ……
 if(表达式2) continue;
……
}


创建菜单,改变流程
int main()
{
 char cChioce;
 do
 {
 printf("* 1. 吃饭\n");
 printf("* 2. 睡觉\n");
 printf("* 3. 打豆豆\n");
 printf("* 0. 退出\n");
 printf("* 请选择(0-3):");
 scanf("%c", &cChioce);
 //选择后的处理

if (cChioce=='1')
 printf("我吃吃吃...\n");
else if (cChioce=='2')
 printf("我睡觉觉...\n");
else if (cChioce=='3')
 printf("我打打打...\n");
else if (cChioce=='0')
 break;
else
{
 printf("\007选择错误!\n");
 continue;
}
printf("恭喜你完成了一项工作!\n");
 }
 while(1);
 return 0;
}


4通过求素数/质数 进一步体会循环的用法

 一个数m,如果仅能被1和m整除,
则m为素数
 如果m能够被2到m-1间的任意一
个数整除,m就不是素数
 最朴素的算法:

#include <stdio.h>
int main()
{
 int i, m;
 int is_prime=1;
 scanf("%d", &m);
 for(i=2; i<=m-1; i++)
 {
 if(m%i==0)
 is_prime=0;
 }
 if(is_prime==1)
 printf("%d 是素数!\n", m);
 else
 printf("%d 不是素数!\n", m);
 return 0;
}

改进 1

 int is_prime=1;
 scanf("%d", &m);
 for(i=2; i<=m-1; i++)
 {
 if(m%i==0)
 {
 is_prime=0;
 break; //及时退出
 }
 }
 if(is_prime==1)
 printf("%d 是素数!\n", m);
 else
 printf("%d 不是素数!\n", m);

改进2

int main()
{
 int i, m, k;
 int is_prime=1;
 scanf("%d", &m);
 k=sqrt(m);
 for(i=2; i<=k; i++) //最多循环到k
 {
 if(m%i==0)
 {
 is_prime=0;
 break; //及时退出
 }
 }
 if(is_prime==1)
 ……
}


穷举/枚举
 根据问题的部分条件确定答案的大致范围,
并在此范围内对所有可能的情况逐一验证,
直到将全部情况验证完毕。
若某个情况验证符合题目的全部条件,则为
本问题的一个解;
若全部情况验证后都不符合题目的全部条件
,则问题无解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值