C语言习题答案【2】(仅参考)

[TOC]

1010: 输出字符ASCII码值的2倍

题目描述:

输入一个字符,将其对应的ASCII码值乘以2再输出

输入

A

输出

130

示例

#include <iostream>
using namespace std;
int main()
{ 
    char char_acter;
    cin>>char_acter;//输入一个字符 
    cout<<char_acter*2<<endl;//将其对应的ASCII码值乘以2再输出
    return 0;
} 

1011: 虫子吃苹果

题目描述:

小明买了一箱苹果共有n个,但不幸的是箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时后这箱苹果中还有多少个苹果没有被虫子吃过?

输入

3 2 1

输出

2

示例

#include <iostream>
#include <cmath>
using namespace std;
int main()
{ 
    int n,x,y,eat,rest;
    cin>>n>>x>>y;//分别表示一箱苹果的个数,虫子吃完一个苹果所需时间和已经过去的时间。
    eat=ceil((double)y/x);
    if(n>eat){
        rest=n-eat;
    }else{
        rest=0;
    } 
    cout<<rest<<endl;
    return 0; 
} 

1012: 三个整数的和

题目描述:

求三个整数的和。

输入

1234567890 1234567890 1234567890

输出

3703703670

示例

#include <iostream>   
using namespace std;
int main()
{ 
    long num1,num2,num3;
    cin>>num1>>num2>>num3; //三个整数用空格隔开
    cout<<num1+num2+num3<<endl;
    return 0; 
} 

1013: 身份证求出生日期

题目描述:

输入一个公民身份证号,输出该公民的出生年月日。

输入

430622197811204019

输出

1978-11-20

示例

#include<iostream>   
using namespace std;
int main()
{ 
    int year,month,day;
    scanf("%*6d%4d%2d%2d%*d",&year,&month,&day);
    //412727200103154057
    printf("%04d-%02d-%02d",year,month,day); 
    return 0; 
} 

1014: 鸡兔同笼

题目描述:

鸡兔同笼,共有n个头,m条腿,求鸡和兔子各有多少只。

输入

35 94

输出

23 12

示例

#include<iostream>   
using namespace std;
int main()
{ 
    int top,foot,c,r;
    cin>>top>>foot;//输入头数和腿数。 
    c=2*top-foot/2;
    r=top-c;
     cout<<c<<" "<<r<<endl;
    return 0; 
}

1015: 计算时间

题目描述:

小明的家距离学校很远,小明想知道从家里出发到学校耗费了多少时间。

输入

12 45 13 56

输出

1 11

示例

#include<iostream>   
using namespace std;
int main()
{ 
    int hour1,points1,hour2,points2,min1,min2;
    cin>>hour1>>points1>>hour2>>points2;//分别代表从家出发的时、分和到校的时、分。 
    min1= hour1*60+points1;
    min2= hour2*60+points2; 
    cout<<(min2-min1)/60<<" "<< (min2-min1)%60<<endl;
    return 0; 
} 

1016: 计算国民生产总值增长倍数

题目描述:

假如我国国民生产总值的年增长率为7%,计算10年后我国国民生产总值与现在相比增长多少百分比(倍数)。计算公式为p=(1+r)n
其中:r为年增长率,n为年数,p为与现在相比的倍数
对于求an, C语言的数学库函数中有求指数的函数pow(a, n) 

输入

输出

p=1.967152

示例

#include<stdio.h>
#include<math.h>
using namespace std;
int main()
{
    float r,n,p;
    r=0.07;
    n=10;
    p=pow(1+r,n);
    printf("p=%f\n",p);
    return 0;
 } 

1017: 计算贷款还款时间

题目描述:

 某人为购房,从银行贷款30万元(d),准备按月还款6000元(p),月利率为1%(r),计算还款月数(m,即多少月还清贷款)。对求得的月份取小数点后一位(四舍五入)。

计算还清贷款月数m的计算公式如下:

可以将公式改写为:m=log(p/()p=d*r)/log(1=r);        m=logp-log(p-d*r)/log(1+r)

C语言数学库函数中有求对数的函数log10,是求以10为底的对数,log10(p)表示logp 

输入

输出

m=69.7

示例

#include<stdio.h>
#include<math.h>
using namespace std;
int main()
{
    float d,p,r,m;
    d=300000;
    p=6000;
    r=0.01;
    m=log(p/(p-d*r))/log(1+r); 
    printf("m=%.1f\n",m);
    return 0;
 } 

1018: 交换变量

题目描述:

 编写程序,从键盘输入两个整数给变量x和y输出x和y。

在交换x和y中的值后,再输出x和y,验证两个变量中的值是否正确的进行了交换

输入

1 2

输出

2 1

示例

#include <iostream>
using namespace std;
int main()
{ 
    int x,y,s;
    cin>>x>>y;//输入一个字符 
    s=x;
    x=y;
    y=s;
    cout<<x<<" "<<y<<endl;//将其对应的ASCII码值乘以2再输出
    return 0;
} 

1019: 译密码

题目描述:

写程序将字符串“China”译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母。例如,字母A后面第四个字母是E,用E代替A。因此,China应译为Glmre。
请编写一个程序,用赋初值的方法使c1, c2, c3, c4, c5这5个字符变量的值分别为'C', 'h', 'i', 'n', 'a',经过运算,使c1, c2, c3, c4, c5的值分别变为'G', 'l', 'm', 'r', 'e'
用printf函数输出这5个字符 

输入

输出

Glmre

示例

#include <iostream>
using namespace std;
int main()
{ 
    //A65 a97 
    char c1='C', c2='h', c3= 'i', c4='n', c5= 'a'; 
    c1+=4; 
    c2+=4; 
    c3+=4; 
    c4+=4; 
    c5+=4; 
    putchar(c1);
    putchar(c2);
    putchar(c3);
    putchar(c4);
    putchar(c5);
    return 0;
} 

有更优方案或者我有所错误还请留言交流,谢谢!!!


感谢交流图.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容