c语言回顾——练习

如无必要,勿增实体
1.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。

#include<stdio.h>
 int main(int argc, char const *argv[])
 {  
    int a=0,n=1,p=0,i,sum=0;
    printf("Enter");
    scanf("%d%d",&a,&n);
    for(i=1;i<=n;i++){
        p=a+p*10;
        sum+=p;
    }
    printf("\ntotal=%d\n",sum);
    return 0;
 }

2 .递归方法实现字符串倒着打印

#include<stdio.h>

 int fun(int a);
 int main(int argc, char const *argv[])
 {  
    printf("Please enter five words:\n");
    fun(5);
    return 0;
 }

 int fun(int a){
    char word;
    if(a<=1){
      word=getchar();
      printf("print as following:\n");
      putchar(word);
    }
    else{
        word=getchar();
        fun(--a);
        putchar(word);
    }
    return 0;
 }

3.判断10位以内回文数

#include<stdio.h>

int main(int argc, char const *argv[])
 {  
    long long int num,num2;
    int array[10];
    printf("Enter your number within 10 bits:");
    scanf("%llu",&num);

    num2 =num;
    int i=0;
    while(num2>0){
        array[i++]=num2 %10;
        num2 /=10;
    }
    printf("Your bits=%d",i);//i = bits

    int flag =0,j;
    for(j=0;j<=i/2;j++){
        if(array[j]!=array[i-j-1])//because of i++
            flag=1;
        break;
    }

    if(flag==1)
        printf("\nNo\n");
    else 
        printf("\nYes!\n");

   return 0;
 }

4.题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

#include<stdio.h>
int main(){
    int array[11]={1,4,6,9,13,16,19,28,40,100};
    int i,t1,t2,a;
    printf("Enter your number:\n");
    scanf("%d",&a);
    if(a>=array[9])
        array[10]=a;
    else
    {
        for(i=0;i<9;i++){
            if(a<=array[i]){
                t1=array[i];
                array[i]=a;
                do{
                    t2=array[++i];
                    array[i]=t1;
                    t1=t2;
                }while(i<10);
            }

        }

    }
    for(i=0;i<11;i++){
    printf("%4d",array[i]);
    }
    return 0;
}

结果:这里写图片描述

2018年1月28日夜 大雪刚过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值