1.编写程序,输入a,b,c三个数,输出其中的最大者
a>b?a:(b>c?b:c)
2.从终端输入3个整数;从小到大排序
if(a>b){
交换
if(b>c){}
if(a>b){}
}
3.实现简易计算器功能。
switch(ch){
case "+":
printf("");
break;
case "-":
printf("");
break;
...
default:
break;//可省略
}
4.从终端输入学生成绩,输出对应等级,用switch实现。
switch(g/10){
case 10:
printf("A");
break;
case 9:
printf("A");
break;
case 8:
printf("B");
break;
....
default:
break;//可省略
}
5.打印所有的水仙花数,
水仙花数:一个三位数,百位立方+十位立方+个位立方 = 原数
for(i=100;i<1000;i++){
a=i/100;//百位
b=i/10%10;//十位
c=i%10;//个位
if(i==a*a*a+b*b*b+c*c*c){
printf("")
}
}
6.打印下列图案
*
**
***
****
*****
for(i=0;i<5;i++)
{
for(j=0;j<i+1;j++)
{
printf("*");
}
putchar(10);
}
7.打印99乘法表
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
printf("%d*%d=%d\n",i,j,i*j);
}
}
8.从终端输入一个日期 “年-月-日”;判断这是这一年的第几天
y,m,d,t;
switch(d){
case 1:
t=d;
case 2:
...
default:
}
if("闰年"==y&&m>2)
t=t+1;
9.编写一个程序,找出1000以内所有的完数,所谓完数就是一个数恰好等于它的因子之和,例如6=1+2+3,6就是一个完数。
int sum=0;
for(i=0;i<=1000;i++)
{
sum=0;
for(j=0;j<i;j++)
{
if(i%j==0)
sum+=i;
}
if(i==sum){
printf("",i)
}
10.循环从终端输入字符,原样输出此字符,当字符为'q'时,循环结束。
while(1)
{
scanf();
if(ch=='q')
break;
printf();
}
11.循环输入一个5位数,判断它是不是回文数。当输入0时循环结束。即12321是回文数,个位与万位相同,十位与千位相同。
while(1){
scanf();
a=num/10000;//万
b=num/1000%10;//千
c=num/10%10;//十位
d=num%10;//个位
if(num==0)
{break;}
else if(a==d&&b==c)
{}
}
12.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
/*s=a
a+10*a
a+10*aa
*/
scanf()/a,b
num=0;
for(i=0;i<b;i++)
(
num=a+10*num;//a,aa,aaa
sum+=num;
}
练习:编写一个程序,找出1000以内所有的完数,所谓完数就是一个数恰好等于它的因子之和,例如6=1+2+3,6就是一个完数。
练习:用while实现1-10求和
i=0;
while{
i++;
sum+=i;
if(i==10)
break;
}
练习:字符串大小写转换。
int i,j,m;
char buf[]="";
m=0;
while(buf[m]!='\0'){
m++;//字符串长度
}
for(i=0;i<m;i++)
{ if(buf[i]>='a'&&buf[i]<='z'){
buf[i]=buf[i]-32;}
else if(buf[i]>='A'&&buf[i]<='Z'){
buf[i]=buf[i]+32;}
printf("%d",buf[i]);
}