C语言程序设计编程题

更新时间:2024-01-18 21:07:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

选择结构程序设计

1.输入一个字符,如果是大写字母则转换为小写字母,如果是小写字母则转换为大写。(双分支结构)

方法一:if语句(P78) 方法二:条件表达式(P85)

2.输入某年的年份,判断此年是不是闰年。(双分支结构) 闰年的条件(符合下面二者之一即可): 1)能被4整除,但不能被100整除 2)能被400整除

3.输入三个整数,求其中最大的数并输出。 4. 从键盘任意输入一个字符,进行如下判断:

① 如果是大写字母则转换为小写字母输出 ② 如果是小写字母则转换为大写输出 ③ 如果是数字字符,则输出对应数值 ④ 若是其它字符,则输出“Error!”

提示:使用IF的多分支结构 【扩展提高】:加入循环,允许一次输入任意多个字符,每输入一个字符就进行以上判断,直到输入“回车换行”,才退出程序。

5.从键盘输入分数,判断并输出分数对应的等级(优秀、良好、中等、及格、不及格) 要求用两种方法实现: 方法一:switch结构 方法二:IF的多分支结构

循环结构程序设计

1. 输入一个正整数n, 输出1~n范围内所有奇数,并计算奇数之和。 【扩展提高】:输出各个奇数时,控制每行只输出 10个奇数。

2. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 3. 求?n!

n?1204. 打印以下图案: 11111 22222

33333 44444

5. 打印如下形式的九九口诀表。

函数

1、从键盘输入一个正整数n,求1!+2!+…+n!的值。要求如下:

1)编写一函数jc求阶层 。

2)编写一个主函数来调用jc函数求出表达式1!+2!+…+n!的值。 2、求100~1000之间的素数之和。要求如下:

1)编写一函数iss来判断i是不是素数,若是素数返回1,否则返回0。 2)编写一个主函数来调用iss函数并统计素数的和。

3、写两个函数,分别求两个整数(由键盘输入)的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。

数组

1. 从键盘输入10个整数,保存在一维数组a中,统计其中奇数、偶数的个数,将统计结果输出。

2. 从键盘输入10个互不相同的整数,找出其中最小值,输出该最小值及其下标。

3. 分别用“冒泡法”和“选择法”对10个整数按由小到大排序。 4. 有一个已按升序排列的数列,现要将键盘输入的一个数插入到该数

列中,要求按原来的排序规律插入。

5. 将一个数组中的值按逆序重新存放。例如:假设a[0]~a[4]的值分别为6,9,4,2,3按逆序重新存放后,a[0]~a[4]的值变为3,2,4,9,6 6. 编写程序,计算两个3×4矩阵的和。

提示:两个矩阵之和,就是两个矩阵的对应元素相加是第3个矩阵对应元素的值。

7. 输出如下杨辉三角形。

提示:各行除第一个数和最后一个数之外,其余各数等于上一行同列和前一列两个数的和。

8. 用两种方法输出下面的图形: 方法一:不用数组 方法二:用一维字符数组

9. 从键盘输入一个字符串存放在数组a中,再将其中的所有小写字母存放到字符数组b中。

10. 编写一个验证密码的程序。(假设正确密码为:abcd且密码不区分大小写)

? 若输入正确,显示“欢迎使用!”

? 若输入错误,显示“密码错误,请重新输入!”,让用户再次输入,当密码错误次数达到3次,则显示“对不起,您无权使用!”

实验报告(一)

1、从键盘输入圆的半径r,编程求圆的面积和周长。 #include

#define P 3.1415926 /*定义符号常量P,为圆周率的值*/ void main() {

float r,s,l;

printf(\请输入圆的半径:\ /*设置输入提示*/

scanf(\ s=P*r*r; }

2、从键盘输入两个数a和b,编程将a和b的值互换并输出。 两数交换算法:借助第三个中间变量。 #include void main() {

l=2*P*r;

printf(\面积=%f\\n\printf(\周长=%f\\n\

}

int a,b,t; printf(\scanf(\printf(\scanf(\t=a; a=b; b=t;

printf(\交换后:a=%d,b=%d\\n\

3、从键盘输入一个大写字母,把它对应的小写字母以及ASCII码输出。 #include void main() { } 说明: char ch;

printf(\请输入一个大写字母:\

scanf(\ /*或者ch=gechar( );*/ ch=ch+32;

printf(\转换后的字符为:%c\\n\ /*或者putchar(ch);putchar(‘\\n’);*/ printf(\转换后字符对应的ASCII码为:%d\\n\

Scanf( )和printf( )是万能型输入输出函数(适用于任意数据类型); 对于单字符的输入输出,还可用getchar( )或putchar( )函数。

实验报告(二)

1、从键盘输入一个百分制的分数,判断并输出分数对应的等级(优秀、良好、中等、及格、不及格),若输入非法分数,则显示报错信息,重新让用户输入分数。 方法一:if的多分支结构

/*A方案*/ 思考:运行这两个程序,有何不同? 方法二:switch结构 #include main() { float s; while (1) { printf(\请输入分数(-1结束):\#include main()数组 1. 从键盘输入10个整数,保存在一维数组a中,统计其中奇数、偶数的个数,将统计结果输出。 2. 从键盘输入10个互不相同的整数,找出其中最小值,输出该最小值及其下标。 3. 分别用“冒泡法”和“选择法”对10个整数按由小到大排序。 4. 有一个已按升序排列的数列,现要将键盘输入的一个数插入到该数/*B方案*/ #include main() { float s; printf(\请输入分数:\ scanf(\ while (1) { if (s>=90 && s<=100) {printf(\优秀\\n\ else if (s>=80 && s<90) {printf(\良好\\n\ else if (s>=70 && s<80) {printf(\中等\\n\ else if (s>=60 && s<70) {printf(\及格\\n\ else if (s>=0 && s<60) {printf(\不及格\\n\ else {printf(\数据有误,请重新输入:\ scanf(\ } } scanf(\ if (s==-1) break; switch((int)s/10) { case 10: if(s>100) { printf(\数据有误,请重新输入!\\n\ case 9: printf(\优秀\\n\ case 8: printf(\良好\\n\ case 7: printf(\中等\\n\ case 6: printf(\及格\\n\ case 5: case 4: case 3: case 2: case 1: case 0: printf(\不及格\\n\ default: printf(\数据有误,请重新输入!\\n\ } } }

2、从键盘输入一行字符(按“回车”结束输入),对其进行如下转换:

⑤ 如果是大写字母则转换为小写; ⑥ 如果是小写字母则转换为大写; ⑦ 如果是数字字符,则输出对应数值; ⑧ 若是其它字符,则输出“*” 。

#include main() { char c; while ((c=getchar( ))!='\\n') { if (c>='A'&&c<='Z') putchar(c+32); else if (c>='a'&&c<='z') putchar(c-32); else if (c>='0'&&c<='9') putchar(c); else putchar('*'); } putchar('\\n'); }

3、输入正整数n, 求1~n范围内的所有素数,要求每行只输出7个素数,并计算这些素数之和。

#include

#include void main()

{ int i,j,k,n,t=0,sum=0; printf(\请输入一个正整数:\ scanf(\ for(i=2;i<=n;i++) /*注:1不是素数*/ { k=sqrt(i); for(j=2;j<=k;j++) if(i%j==0) break; if(j>=k+1) { printf(\\\t\ /*利用横向跳格\\t使输出数据对齐,也可利用格式说明%md实现*/ t=t+1; if (t%7==0) printf(\

/*注:换行操作必须放在此处,若放在外面,则当t是7的倍数时,无论这个数是不是素数都要换行*/ sum=sum+i; } } printf(\

本文来源:https://www.bwwdw.com/article/tyxo.html

Top