必备Linux命令和C语言基础(lv1_练习3)

本文包含C语言的经典习题解答,如回文数判断、循环输入多个数、猴子吃桃问题、打印各种图形等,适合初学者练习和提高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、回文数的判断(例如:12321是一个回文数)

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework1.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月27日
  7 *   描    述:回文数的判断
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     int num1=1,a,c,num2=0;
 18     printf("请输入一个数:");
 19     scanf("%d",&num1);
 20     c=num1;
 21     while(num1!=0){
 22         a=num1%10;
 23         num1=num1/10;
 24         num2=num2*10+a;
 25     }
 26     if(c==num2){
 27         printf("%d是一个回文数\n",c);
 28     }
 29     else{
 30         printf("%d不是一个回文数\n",c);
 31     }
 32     return 0;
 33 }
 34 
~     

2、循环输入多个数,输入零结束;

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework2.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月27日
  7 *   描    述:循环输入多个数,输入零结束;
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     int num=1,count=0,number[100];
 18     while(num!=0){
 19         printf("请输入第%d个数:",count);
 20         scanf("%d",&num);
 21         number[count]=num;
 22         count++;
 23     }
 24     int i;
 25     for(i=0;i<count;i++){
 26         printf("%d ",number[i]);
 27     }
 28     printf("\n");
 29 
 30     return 0;
 31 }
 32 

3、猴子吃桃问题;

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework3.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月27日
  7 *   描    述:猴子吃桃问题;
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     int num=1,i=1;
 18     while(i<10){
 19         num=2*(num+1);
 20         i++;
 21     }
 22     printf("num=%d\n",num);
 23     return 0;
 24 }
 25 

4、打印金字塔, 菱形,空心菱形;

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework4.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月27日
  7 *   描    述:打印金字塔,菱形,空心菱形;
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     int i=0,j,num=0;
 18     printf("请输入需要打印的金字塔高度:");
 19     scanf("%d",&num);
 20     while(i<num){
 21         j=0;
 22         while(j<num-i){
 23             printf(" ");
 24             j++;
 25         }
 26         j=0;
 27         printf("*");
 28         while(j<(2*i+1)-2){
 29             printf("9");
 30             j++;
 31         }
 32         if(i!=0){
 33             printf("*");
 34         }
 35         i++;
 36         printf("\n");
 37     }
 38     i=0;
 39     while(i<num+1){
 40         j=0;
 41         while(j<i){
 42             printf(" ");
 43             j++;
 44         }
 45         printf("*");
 46         j=0;
 47         while(j<(2*(num-i)-1)){
 48             printf("9");
 49             j++;
 50         }
 51         if(i!=num){
 52             printf("*");
 53         }
 54         i++;
 55         printf("\n");
 56     }
 57 
 58     return 0;
 59 }

5、for循环打印规定图案;

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homeworlk5.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月27日
  7 *   描    述:for循环打印规定图案;
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     char ch='F';
 18     int i,j;
 19     for(i=0;i<6;i++){
 20         for(j=0;j<i;j++){
 21             printf("*");
 22         }
 23         for(j=0;j<=i;j++){
 24             printf("%c",ch-j);
 25         }
 26         printf("\n");
 27     }
 28 
 29     return 0;
 30 }
 31 

6、打印99乘法表

  1 /*================================================================
  2 *   Copyright (C) 2020 hqyj study demo file.
  3 *   
  4 *   文件名称:homework6.c
  5 *   创 建 者:一江叶影
  6 *   创建日期:2020年10月27日
  7 *   描    述:打印99乘法表
  8 *
  9 ================================================================*/
 10 
 11 
 12 #include <stdio.h>
 13 
 14 
 15 int main(int argc, char *argv[])
 16 {
 17     int i,j;
 18     for(i=1;i<=9;i++){
 19         for(j=1;j<=i;j++){
 20             printf("%d*%d=%d\t",i,j,i*j);
 21         }
 22         printf("\n");
 23     }
 24 
 25     return 0;
 26 }
 27 
~        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值