本文主要是介绍全国软件专业人才开发与设计赛题之简单题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
3.1计算手机通话时长,系统提供开始与结束时间,输出两时间的时间差
输入格式:24:34代表24分34秒
标准输入:24:34 58:23
输出对应的秒数
2 int main()
3 {
4 int pmin,psec,nmin,nsec; // 用于对前后时间保存
5 while (scanf( " %d:%d %d:%d " , & pmin, & psec, & nmin, & nsec) != EOF)
6 {
7 if (nsec < psec)nmin = ( 60 + nmin - 1 ) % 60 ; // 如果结束秒数比开始秒数小,需要调整分钟数
8 int diffsec = (nsec - psec + 60 ) % 60 + ((nmin - pmin + 60 ) % 60 ) * 60 ;
9 printf( " %d\n " ,diffsec); // 输出为
10 }
11 return 1 ;
12 }
3.2有一种特殊的两位数,比如:25
其平方625的末尾两位正好和25相同。
请写程序计算所有这样的二位数,由小到大排列,每个数据占一行
2 int main()
3 {
4 for ( int i = 10 ;i < 100 ;i ++ )
5 {
6 if (((i - 1 ) * i) % 100 == 0 ) // i*i-i等价与(i-1)*i 由于题目仅仅是对两位数进行处理,所以可以采用%100的方式
7 printf( " %d\n " ,i);
8 }
9 return 1 ;
10 }
3.3在某些场所,我们需要对计量数据和单位进行分割,并进行输出。
举例:1.5kg
输出:
1.5
kg
请写程序进行分割输出。
2 #include < string .h >
3 /* ------------------------
4 由于题意只是要求对数字和单位分离
5 但是,数据的格式需要保留,所以
6 本程序思路:
7 首先分别一行的所有信息至sourcestr[]
8 然后sscanf对sourcestr进行分离数据和单位字符串
9 进而在读取的sourcestr中匹配单位字符串的位置
10 然后对sourcestr字串进行分离输出
11 ------------------------- */
12 int main()
13 {
14 char sourcestr[ 50 ];
15 char desstr[ 50 ];
16 double dnumber = 0 ; // 双精度数据
17 int position = 0 ;
18 while (scanf( " %s " ,sourcestr) != EOF)
19 {
20 //
21 sscanf(sourcestr, " %lf%s " , & dnumber,desstr);
22 // 寻找单位出现的位置,进行提取数字
23 position = strcspn(sourcestr,desstr);
24 for ( int i = 0 ;i < strlen(sourcestr);i ++ )
25 {
26 if (i == position)
27 printf( " \n " );
28 putchar(sourcestr[i]);
29 }
30 printf( " \n " );
31 }
32 return 1 ;
33 }
3.4输出今年有多少毫秒(提示:今年不是闰年)
2 #include < string .h >
3 int main()
4 {
5 // 这里用365.0提升数据的表示范围,防止数据的溢出
6 // 输出进行类型转换long
7 printf( " %ld\n " ,( long )( 365.0 * 24 * 60 * 60 * 1000 )); // 365天*24小时*60分钟*60s*1000毫秒
8 return 1 ;
9 }
这篇关于全国软件专业人才开发与设计赛题之简单题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!