跪求C语言大神!!两道题。!!

1.【问题描述】2.2.7输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是0000~2359(前两位表... 1.【问题描述】2.2.7 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是0000 ~2359(前两位表示小时,后两位表示分钟),不需要考虑出发时间晚于到达时间的情况。
【样例输入输出】(括号内为说明文字)
Enter time1: 712 (出发时间是7:12)
Enter time2: 1411 (到达时间是14:11)

2.
【问题描述】2.2.8 输入一个四位正整数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,作为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。
【样例输入输出】 (括号内为说明文字)
Enter a number: 1257
The encrypted number is 4601(每一位上的数字加9 除以10 取余后得0146,交换后得到4601)
展开
 我来答
masterlonely
2012-04-09 · TA获得超过204个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:134万
展开全部
winXP+VC6.0下测试通过:

#include<stdio.h>
#include<string.h>
void first()
{
//第一题:
int time1,time2;
int time1H,time1M; //记录时间1的小时,分钟
int time2H,time2M;//记录时间2的小时,分钟
int timeDiff;

//输入二个时间
printf("Enter time1:\n");
scanf("%d",&time1);
printf("Enter time2:\n");
scanf("%d",&time2);

//将小时和分钟拆出
time1H=time1/100;
time1M=time1%100;

time2H=time2/100;
time2M=time2%100;

printf("time1 is :%d:%d\n",time1H,time1M);
printf("time2 is :%d:%d\n",time2H,time2M);

//转成分钟,然後计算出相差多少分钟
timeDiff=(time2H*60+time2M)-(time1H*60+time1M) ;

//显示结果
printf("timeDiff %d minute ,%d:%d\n ",timeDiff,timeDiff/60,timeDiff%60);
}

void second()
{
int num;
int a[4];
int temp;

printf("input num:\n");
scanf("%d",&num);

//把四位数字拆开放好
a[3]=num/1000;
num=num%1000;
a[2]=num/100;
num=num%100;
a[1]=num/10;
a[0]=num%10;

//数字加9,然后除以10 取余
a[3]=(a[3]+9)%10;
a[2]=(a[2]+9)%10;
a[1]=(a[1]+9)%10;
a[0]=(a[0]+9)%10;

//互换:千和十
temp=a[3];
a[3]=a[1];
a[1]=temp;

//互换:百和个
temp=a[2];
a[2]=a[0];
a[0]=temp;

//组合新的数字
num=a[3]*1000+a[2]*100+a[1]*10+a[0];

//显示结果
printf("new num is :%d\n",num);

}

int main()
{
printf("----------------first----------------\n");
first();
printf("----------------second----------------\n");
second();

return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
智狐博文
2012-04-09 · 计算机专业知识科普及教育资讯
智狐博文
采纳数:92 获赞数:597

向TA提问 私信TA
展开全部
1.
#include "stdio.h"
void main()
{
int time1,time2;
int hour1,minute1;
char T1_info[100],T2_info[100];
int hour2,minute2;
int countHour=0,countMinute=0;
do
{
clrscr();
printf("Enter time1:");
scanf("%d",&time1);
gets(T1_info);
printf("Enter time2:");
scanf("%d",&time2);
gets(T2_info);
}while(time1<0||time1>2359||time2<0||time2>2359);
hour1=time1/100;
minute1=time1%100;
hour2=time2/100;
minute2=time2%100;
countHour=hour2-hour1;
if(minute1>minute2)
{
countHour-=1;
countMinute=60-(minute1-minute2);
}
else
{
countMinute=minute2-minute1;
}
printf("旅途时间为:");
printf("%d时%d分",countHour,countMinute);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-09
展开全部
虽然题目比较简单,但你也不能10分打发我们啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式