2026年2月5日
收获:
1.当输入整数后,之后的其他类型数据不能正常输入,用while(getchar()!='\n');来跳过多余字符。
题目:
1、Q5637.(语言: C)改错题:编程分别输入int型,char型和float型数据,要求每输入一项就显示数据类型和数据值。
输出格式要求:
"please input an integer:"
"integer %d\n"
"please input a character:"
"character %c\n"
"please input a float number:"
"float %f\n"
//请大家在CB中改错
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
char b;
float c;
printf("please input an integer:\n");
scanf("%d,a"); //缺取地址符,引号位置不对
printf("Integer %d:\n, a); //用小写,且缺少双引号
//while(getchar()!='\n'); //跳过多余字符,使后续输入正常
printf(Please input a character:");
scanf(%c,b");
printf("Character %c\n,b);
printf(Please input a float number:\n");
scanf("%f",c);
printf("Float %f:\n",c);
return 0;
}
改后运行成功代码:
c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
char b;
float c;
printf("please input an integer:");
scanf("%d",&a);
printf("integer %d\n", a);
while(getchar()!='\n');
printf("please input a character:");
scanf("%c",&b);
printf("character %c\n",b);
printf("please input a float number:");
scanf("%f",&c);
printf("float %f\n",c);
return 0;
}
2、Q220.(语言: C)用if-else语句编程根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。已知转换标准为:
0-59 E
60-69 D
70-79 C
80-89 B
90-100 A
**输入格式要求:"%d" 提示信息:"Please enter score:"
**输出格式要求:"Input error!\n" "%d--A\n"
程序运行示例1如下:
Please enter score:15
15--E
程序运行示例2如下:
Please enter score:85
85--B
c
#include <stdio.h>
int main()
{
int score;
printf("Please enter score:");
scanf("%d",&score);
if(score>100||score<0){
printf("Input error!\n");
}else if(score<60){
printf("%d--E\n",score);
}else if(score<70){
printf("%d--D\n",score);
}else if(score<80){
printf("%d--C\n",score);
}else if(score<90){
printf("%d--B\n",score);
}else{
printf("%d--A\n",score);
}
return 0;
}
3、Q6394.(语言: C)爱因斯坦的数学题。爱因斯坦出了一道这样的数学题。有一条长阶梯,若每步跨2阶,则最后剩1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶,则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯共多少阶?
输出格式要求:"x = %d\n"
程序运行示例:
x=**
c
#include <stdio.h>
int main()
{
int n=0,flag=1;
while(flag){
n++;
if(n%2==1&&n%3==2&&n%5==4&&n%6==5&&n%7==0) flag=0;
}
printf("x = %d\n",n);
return 0;
}
4、Q2128.(语言: C)用循环编程计算sum=12+3 4+56+78+...+ 99*100的值。
要求:
**输入格式:无任何信息提示;
**输出格式:"sum=%ld\n"
c
#include <stdio.h>
int main()
{
long int sum=0;
for(int i=1;i<100;i+=2){
sum+=i*(i+1);
}
printf("sum=%ld\n",sum);
return 0;
}
5、Q473.(语言: C)编程输出如下菜单界面(具体的输出则以下面提示中要求的输出格式为准):======= 大学信息管理系统 =======
- 办公室管理 5. 财务管理
- 教务管理 6. 图书管理
- 科研管理 7. 设备管理
- 人事管理 8. 后勤管理
- 退出系统
请您在上述功能中选择(0------8):
提示:输出如下格式"======= 大学信息管理系统 ======= \n""------------------------------\n""1. 办公室管理 5. 财务管理 \n""2. 教务管理 6. 图书管理 \n""3. 科研管理 7. 设备管理 \n""4. 人事管理 8. 后勤管理 \n""0. 退出系统\n""------------------------------\n""请您在上述功能中选择(0------8):\n"
c
#include <stdio.h>
int main()
{
printf("=======大学信息管理系统======= \n");
printf("------------------------------\n");
printf("1. 办公室管理 5. 财务管理 \n");
printf("2. 教务管理 6. 图书管理 \n");
printf("3. 科研管理 7. 设备管理 \n");
printf("4. 人事管理 8. 后勤管理 \n");
printf("0. 退出系统\n");
printf("------------------------------\n");
printf("请您在上述功能中选择(0------8):\n");
return 0;
}