C语言基础编程小题

本文介绍了编程基础的多个方面,包括条件语句、循环、函数调用等,并通过实例展示了如何找出完数、实现简易计算器、打印99乘法表等算法。此外,还涉及字符串操作和日期处理,以及回文数的判断。通过这些练习,读者可以巩固编程基础知识并提升算法能力。
摘要由CSDN通过智能技术生成

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]);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值