第七周C语言编程题
第一题
题目:循环结构练习05 用for语句输出倒三角图案
这是一个编程题模板。
要求用for语句,输出指定的由“*”符号组成的倒三角图案。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出由“*”符号组成的倒三角图案。
实例代码
#include <stdio.h>int main() {int i, j,n; // 循环变量// int lines = 4; // 总共4行// int stars = 4; // 开始时每行4个星号for(i=4;i>0;i--){for(j=4-i;j>0;j--){printf("%s"," ");}for(n=i;n>0;n--){printf("* ");}printf("\n");}return 0;
}
第二题
题目:分支结构练习03 用if-else语句判断是否要去上C语言的课程(进阶版)
输入两个整数,第一个整数表示月份(month),第二个整数表示星期(week)。若输入的月份是9-12和1时,则需要判断第二个整数:当输入的第二个整数为1时,表明今天为星期一,则需要去上C语言的课,这时输出“星期一,有C语言课程要完成”;当输入为2-7范围时输出“其他课程”;若输入是其他数值或字符,则输出“对于week变量,请输入1-7的整数!”。若输入的月份为2时,则输出“寒假!”;若输入的月份为3-6时,则输出“大一下学期了!”;若输入的月份为7-8时,则输出“暑假!”;若输入的月份是其他数值或字符时,则输出“对于month变量,请输入1-12的整数!”。
输入格式:
输入2个任意整数,并用空格隔开。
输出格式:
对每一组输入,在一行中输出对应的结果。
输入样例:
在这里给出一组输入。例如:
12 1
输出样例:
在这里给出相应的输出。例如:
星期一,有C语言课程要完成
实例代码
#include <stdio.h>int main() {int month, week;// 从键盘接收用户输入的月份和星期//printf("请输入月份(1-12)和星期(1-7),中间用空格隔开:");scanf("%d %d", &month, &week);// 判断输入的月份是否合法if (month >= 1 && month <= 12) {// 根据月份判断学期和假期情况switch (month) {case 9:case 10:case 11:case 12:case 1:// 处理1月和9-12月的情况,根据星期判断是否需要上C语言课if (week >= 1 && week <= 7) {if (week == 1) {printf("星期一,有C语言课程要完成\n");} else {printf("其他课程\n");}} else {printf("对于week变量,请输入1-7的整数!\n");}break;case 2:printf("寒假!\n");break;case 3:case 4:case 5:case 6:printf("大一下学期了!\n");break;case 7:case 8:printf("暑假!\n");break;}} else {printf("对于month变量,请输入1-12的整数!\n");}return 0;
}
第三题
题目:循环结构练习06 输出1980年到2050年之间所有闰年
输出1980年到2050年之间所有闰年,注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
本题目没有输入。
输出格式:
输出1980年到2050年之间所有闰年,要求每输出一个年份就需要换行。
输入样例:
本题目没有输入。
本题目没有输入。
输出样例:
在这里给出相应的输出。例如:
1980
1984
1988
1992
1996
2000
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
示例代码
#include <stdio.h>int main() {int year;for (year = 1980; year <= 2050; year++) {// 检查是否是闰年if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d\n", year);}}return 0;
}
第四题
题目: 循环结构练习02 统计学生平均成绩
本题要求编写程序,计算学生们的平均成绩。题目保证输入与输出均在整型范围内。
输入格式:
输入在第一行中给出非负整数n,即学生人数。第二行给出n个非负整数,即这n位学生的成绩,其间以空格分隔。
输出格式:
按照以下格式输出(结果保留1位小数):
average = 成绩均值
输入样例:
在这里给出一组输入。例如:
5
50 60 70 80 90
输出样例:
在这里给出相应的输出。例如:
average = 70.0
示例代码
#include <stdio.h>int main() {int n, i;int sum = 0; // 成绩总和float average; // 平均成绩// 输入学生数量scanf("%d", &n);int grades[n]; // 用于存储成绩的数组// 输入每个学生的成绩for (i = 0; i < n; i++) {scanf("%d", &grades[i]);sum += grades[i]; // 累加总成绩}// 计算平均成绩average = sum / (float)n; // 注意类型转换,确保结果为浮点数// 输出平均成绩,保留1位小数printf("average = %.1f\n", average);return 0;
}
第五题
题目:循环结构练习01 计算1+2+3+…+100之和
本题要求编写程序,计算1 + 2 + 3 + … + 100之和(sum)。
输入格式:
本题目没有输入。
输出格式:
输出1 + 2 + 3 + … + 100之和(sum)。
输入样例:
本题目没有输入
本题目没有输入
输出样例:
在这里给出相应的输出。例如:
sum = 5050
示例代码
#include <stdio.h>int main() {int sum = 0;int i;// 计算1到100的总和for (i = 1; i <= 100; i++) {sum += i;}// 输出总和printf("sum = %d\n", sum);return 0;
}