c入门基础题(3)

本文介绍了多个C语言编程基础题目,包括逆序数、数组操作、斐波那契数列、百鸡问题、素数判断、金字塔图形、双层金字塔、素数范围输出、九九乘法表和猴子吃桃问题等,涵盖了基础算法和数据结构的运用。
摘要由CSDN通过智能技术生成

1、(1)逆序数 输入一个任意整数(int型),输出其位数并逆序输出该数。

输入
输入一个任意整数(int型)
输出
输出其位数及逆序数
样例输入
12345
-123
100
样例输出
54321 5
-321 3
001 3

#include <stdio.h>
int main() {
   
    int num;
    int reverse_num = 0;
    int count=0;
    scanf("%d",&num);
    int flag = num;
    int f = 0;
    int index = 0;
    while (num != 0) {
   
        int digit = num % 10;
        reverse_num = reverse_num * 10 + digit;
        if(flag % 10==0 && flag < 0 && index==0){
   
            printf("-"); 
            index=1;
        }
        if(flag % 10 == 0){
   
            if(reverse_num<0){
   
                reverse_num = reverse_num*(-1);
            }
            printf("%d",reverse_num);
            f = 1;
        }
        num /= 10;
        count++;
    }
    if(f !=1){
   
        printf("%d %d\n",reverse_num,count);     
    }else{
   
        printf(" %d\n",count);
    }  
    return 0;
}

(2)逆序输出(数组练习)数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组 数组类型说明 在C语言中使用数组必须先进行类型说明。数组说明的一般形式为: 类型说明符 数组名 [常量表达式],……; 其中,类型说明符是任一种基本数据类型或构造数据类型。 数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 例 int a[10]; 说明整型数组a,有10个元素。float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。char ch[20]; 说明字符数组ch,有20个元素。

输入
多组测试数据。第一行输入一个整数T表示测试数据组数 每组首先输入1个整数n,然后输入n个整数(不大于20)
输出
对于每组测试数据按照输入相反的顺序输出n个数据
样例输入
2
3
1 2 3
5
2 3 1 4 5
样例输出
3 2 1
5 4 1 3 2

#include<stdio.h>
int main(){
   
    int t,n;
    scanf("%d",&t);
    for(int i=0;i<t;i++){
   
        scanf("%d",&n);
        int a[n];
        for(int j=0;j<n;j++){
   
            scanf("%d",&a[j]);
        } 
        for(int j=0;j<n-1;j++)       //从最后一个开始输出,到倒数第二个,最后一个输出格式变化
            printf("%d ",a[n-j-1]);  
        printf("%d\n",a[0]); 
    }
    return 0;
}

2、求斐波那契数列的前n项值 输入n,求斐波那契数列前n项的值。斐波那契数列规律如下:1, 1, 2, 3, 5, 8, 13,21, 34,55…,从第三项开始,每一项都是前面两项的和。

输入
输入正整数n。

输出
输出斐波那契数列的前n项值

样例输入
1
3
5
8
样例输出
1
1 1 2
1 1 2 3 5
1 1 2 3 5 8 13 21

#include <stdio.h>

//获取第n项斐波那契数列值 
int fn(int n){
   
    int i;
    if(n==
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值