内容发布更新时间 : 2024/11/14 18:00:38星期一 下面是文章的全部内容请认真阅读。
样例输出
HelloWorld 123
Nicetomeetyou abc
提示
用scanf是不能读入一行有空格的字符串的,用gets吧。 用“gets(str) != NULL”可以判断输入是否结束,如果此条件为假(即gets(str) == NULL),则表示输入结束(对于本题)。
#include 心得:这里也是主要考察输入输出问题,首先也是定义了一个字符串,用strlen()函数获得字符串的长度f,进行f次循环,判断这个字符串是否有空格?如果有把数组中的每个数往后进一位,即去点空格,如果没有直接输出。 7问题 D: 成绩转换 时间限制: 1 Sec 内存限制: 128 MB 提交: 78 解决: 30 [提交][状态][讨论版] 题目描述 输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下: 90~100为A; 80~89为B; 70~79为C; 60~69为D; 0~59为E; 输入 输入数据有多组,每组占一行,由一个整数组成。 输出 对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。 样例输入 56 67 100 123 样例输出 E D A Score is error! 提示 #include while(scanf(\实现多行实例输入; { if(x<60) printf(\ else if(x<70) printf(\ else if(x<80) printf(\ else if(x<90) printf(\ else if(x<=100) printf(\ else printf(\ }//分数转换为等级; return 0; } 心得:这里主要运用了选择语句,用while(scanf(\语句实现多行实例输入,然后把所输入的分数通过if语句进行判断,转换成相应的等级,输出。 8问题 A: 金块问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 92 解决: 71 [提交][状态][讨论版] 题目描述 老板有一袋金块(共n块,n是2的冪(n>=2)),最优秀的雇员得到其中最重的一块,最差的雇员得到其中最轻的一块。假设有一台比较重量的仪器,希望用最少的比较次数找出最重和最轻的金块。 输入 输入共两行, 第一行输入金块的数量N<100000; 第二行N金块的重量,用空格间隔。 输出 两个数用空格分开,最重金块 最轻金块 样例输入 5 3 7 9 6 4 样例输出 9 3 #include int n,a[100000]; int max,min,i; while(scanf(\实现多行实例输入; { for(i=0;i return 0; } 心得:这题主要运用分治算法的思想,把一个大问题分成一个个小的子问题去求解,这个题目是典型的二分法问题,把这个题分成两个小问题,即求最重的和求最轻的金块,首先定义了一个一维数组,把所有金块的质量存入其中,把数组的初始值赋给最重的和最轻的金块,然后运用循环对数组中每个金块的质量与金块的初始值进行比较,求的最重和最轻的金块,然后输出。 9问题 B: 工资问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 121 解决: 74 [提交][状态][讨论版] 题目描述 某单位给每个职工发工资(精确到元),为了保证不要临时兑换零钱,且取款的张数最少,取工资前要统计出所有职工的工资所需各种 币值(100,50,20,10,5,2,1元共7种)的张数,请编程完成。 输入 输入一个工资数<10000元 输出 输出各个币种的张数,没有的用0代替,中间用空格分开 样例输入 173 样例输出 1 1 1 0 0 1 1 #include int j,z,a; int b[7]={100,50,20,10,5,2,1};//把所有币值按从从大到小的顺序存到一位数组中; int s[7]={0};//定义一个一位数组,元素值全为0; scanf(\ for(j=0;j<7;j++) { a=z/b[j]; s[j]=a; z=z-a*b[j];